Fórum témák
» Több friss téma |
Fórum » Nextion érintőképernyős HMI, UART kommunikációval
Témaindító: Lamprologus, idő: Máj 5, 2016
Témakörök:
Szia,
Bővebben: Link
Nekem is megjött a logikai analizátorom, megtaláltam a hibát az elküldött szövegben, most már 90% os a siker. De a következő a kérdésem ez az elküldött jelsorozatban problémás lehet e t0.txt="1234" 255 255 255 13 10
Ezt elfogadja de a következőket már nem. Illetve 255 255 255 13 10 után sem semmit. Találkozott e valaki ezzel a problémával?
A három 255-ös utáni karakterek a következő parancshoz fognak tartozni, pontosabban azzal fognak kezdődni. Mivel így nem kezdőthet parancs, az első ilyen után nem fog látszólag reagálni semmire. Mint azt tapasztaltad is.
Vedd ki a 3 db. 255 utáni 13 és 10 -es karaktereket (CR, LF).
Köszönöm, de a fordító automatikusan küldi a CR LF parancsokat (Atmel).
Nem tudod, hogy a Picbasic is csinál ilyet?
Gondolom van olyan parancs (nem ismerem a fordítót), ami azt küldi ki amit szeretnél és nem többet.
Köszönöm a segítséget minden működik. Találtam egy parancsot " SEROUT " ez jó ötlet volt.
Sziasztok!
Egy projekthez használom a Nextion GPIO portját. Mivel az editor csak az UART kimenetet mutatja (gondolom), így manuálisan a program futása közben megkértem egy változót, hogy mutassa a pio0 aktivitását. Az 0-át mutatott, holott 1-et kellett volna. Hol rontottam el? Amit csináltam; cfgpio 1,2,0 - 1-es portot akarom kapcsolni kimenetre, az utolsó 0 helyén kellene lennie egy változónak, de ezt nem értettem és mivel a példában is az volt, azért írtam én is. Óra kapcsolja be: pio1=1, illetve egy másik idővel ki: pio1=0 Utóirat; Csináltam egy próbát; Editorban a beviteli mezőbe direktbe írtam be: pio1=1 Majd pedig n0.val=pio1 n0 értéke változatlan 0 volt.
Valójában már mindegy. Mint kérdéseim legnagyobb részét, ezt is magam tapasztaltam ki és oldottam meg.
Sziasztok!
Megtudná nekem valaki mondani, hogy ennek a kijelzőnek hogyan kell beállítani a baudrate-jét? Jelenleg 115200-ren van. Szerintem ez egy kicsit sok egy mikrovezérlőnek.
Köszönöm!
Ezt gondolom akár minden indításnál el is küldhetem neki mikrovezérlőről?
Nem. Ezt a parancsot elég egyszer küldeni, megjegyzi. A
baud=9600 (nincs s betű a végén) kikapcsolásig marad érvényben. Magyarán 115200-as sebességgel egyszer elküldöd neki a bauds=9600 parancsot és le is van tudva. A legegyszerűbben ez egy USB-UART átalakítóval oldható meg. A hozzászólás módosítva: Okt 7, 2018
Megvan szerencsére minden eszközöm hozzá, kivéve a soros terminált, ami esetlegesen a begépelt szöveget hexában küldi ki, vagy miként szokás ezzel az eszközzel terminálból kommunikálni?
Terminal-ban begépeled a szöveget, majd elküldöd. Nem teljesen értem, mit értex hexa alatt. Az, hogy te milyen formátumban pötyögöd be a parancsot, teljesen mindegy. 65, 0x41 vagy 'A' egyre megy, az UART-nak van egy kötött formája, a Terminal program vagy az USB-UART átalakító meghajtó programja átkonvertála azt UART-ra.
Egy a lényeg, minden parancs után három 0xFF-et kell küldeni, ez a parancs lezáró karakter sor.
Sikerült.
Az a baj, hogy a terminál maga nem azt fogja érzékelni, hogy te beírod a végén, hogy 255, vagy 0xFF. Hanem a karakterek ascii kódjának hexa értékét küldi ki soroson. Ezért helyesen ez baud=9600˙˙˙. Na hát ez is meg lett fejtve, átírta végül is. Köszönöm a segítséget!
Ez teljes mértékben programfüggő. Egyébként én is meguntam a vacakolást az ilyenek miatt, inkább írtam magamnak egy Terminal programot.
![]() A hozzászólás módosítva: Okt 7, 2018
Ötletes! Nagyban megkönnyíti a programírást is.
Még egy kérdésem lenne: Fontgenerátor. Látom, te viszonylag sokat foglalkozol ezzel a kijelzővel. Nálad is szokta furán megjeleníteni a karaktereket? Értem ez alatt, hogy pl. néha az M betű kisebb mint a többi betű? Eddig egyféle fontot sikerült relatíve normálisan megjeleníttetni vele. Ez az én bénaságom, vagy maga a generátor generálja hibásan a karaktereket?
A betűkkel és számokkal alapvető probléma van, nincs élsimítás. Nagy karaktereknél ez nem probléma, kicsiknél hatványozottan jelentkezik. Maga a Font Generátor sincs mindig a helyzet magaslatán. Tegyük hozzá azt is, hogy maga a betű a látszat ellenére igen összetett dolog, nem csoda, ha a Font Generator itt-ott téveszt. Nincs mit tenni, ez ilyen.
Én ezt úgy szokam áthidalni, hogy ahol csak lehet, képeket használok. Képszerkesztőben elkészítem a szövegeket (pl. a hét napjai), mentek belőle hét képet és a Nextion-ban azokat váltogatom, szükség szerint. Ez persze pazarló dolog, mert a képet a legnyobb szöveghez kell igazítani (csütörtök) de ha a kijelző memóriájába belefér, miért ne? Cserébe sokkal szebb az egész. Ez persze dinamikus szövegnél bukta, de statikus vagy ésszerű mennyiségű változatnál járható. Sőt, ha a szöveg egyáltalán nem változik, érdemes a háttérképre menteni, így egy képpel megvan a háttér és a szöveg is, ez viszont kellemesen takarékos megoldás.
Én most találtam egy fontot, amit egészen jól megjelenít. Legalább is nekem nagy problémám nincs vele eddig.
![]()
Lásd mellékletek, az élsimítás nagyon hiányzik.
Írsz Nextion editorban egy programot, amivel be tudod állítani az átviteli sebességet!
Nem kell USB-UART átalakítóval, terminál programmal kínlódni! ![]()
Egy Terminal programmal teljeskörűen tesztelhető a kijelző, nem nevezném kínlódásnak. Kicsit gyorsabb, mint minidg újraírni egy kontroller programját, instant eredmények vannak.
Idézet: Na ezt nevezem én "kínlódásnak. " „Megvan szerencsére minden eszközöm hozzá, kivéve a soros terminált, ami esetlegesen a begépelt szöveget hexában küldi ki, vagy miként szokás ezzel az eszközzel terminálból kommunikálni?”
Addig, amíg meg nem találod a megfelelő programot. Egyszer kell rászánni az időt, nem ágyúval menni a verébre.
Nos igen. Akik engem itt a fórumon ismernek, azok tudják, hogy szinte minden tudás morzsát igyekszem magamtól elsajátítani: olvasva, interneten keresgélve, kísérletezve, vagy kérdezve. Beleugrottam ebbe a projektbe, de úgy gondolm, hogy sok lesz belőle a tanulság. Kicsi, apró léptek. Például most meg kell tanulnom két változó értékét úgy összevonni, hogy abból egy ezres helyiértékű számot kapjak meg, utána pedig azt, hogy hogyan vigyek be a nextion segítségével tizedes törtet.
![]()
Tizedes törtet szövegként!
![]() A hozzászólás módosítva: Okt 7, 2018
Én ezeket a kijelzőket, mint kijelzőt használom. Nem írok bele semmilyen programot, mindent a kontrollerrel végeztetek el, a kijelzőn csak az eredmények jelennek meg. Fogadni csak érintés adatot fogadok, kb. így a legegyszerűbb kezelni, nem kell keresni, hol hibás a program, legalább a kijelző kizárva. Szerintem.
A Nextion-nek úgy vettem észre, hogy nagyon jó a debug felülete. Látható, hogy mikor mit küld ki sorosra, még fel sem kell tölteni rá a programot, ezt kimondottan szeretem benne. Ezt igazából csak feldolgozni kell a mikrovezérlővel. De természetesen megoldható lenne úgy is, ahogy Te mondod.
|
Bejelentkezés
Hirdetés |