FDI Demo pro EZ GUI
POZNÁMKA: Výukový program 2 a 3 jsou identické v postupu, ale používají různé komunikační porty.
Shrnutí
Tutorial 1 se zaměřil na to, jak spustit demo projekt na zařízení µEZ GUI pomocí tvůrce projektu. Nyní, když existuje funkční projekt a je možné jej nahrát do zařízení a spustit některé externí funkce, lze k němu přidat. V tomto tutoriálu budete hovořit se zařízením µEZ GUI přes sériové komunikační porty (ne USB port). To bude demonstrovat, jak přidat kód do projektu, aby bylo možné použít více hardwaru, a také jak zahájit sériovou komunikaci do a ze zařízení µEZ GUI.
Díly
- Sestavte hardware a otevřete ukázku projektu
- Nastavení projektu Files pro sériovou komunikaci
- Přidat volání knihovny µEZ pro sériovou komunikaci
- Spusťte program pomocí terminálového sériového připojení
Požadavky
Železářské zboží
- μEZGUI-4088-43WQN
- Modul Segger J-Link Lite
- USB na sériový TTL kabel
- 2x USB A na USB Mini kabel
Software
- Integrovaný pracovní stůl IAR
- Tmel
- μEZ GUI Project Creator (dříve používané)
- Online knihovna μEZ GUI
Sestavte hardware a otevřete ukázku projektu
Krok 1:
Sbírejte potřebný hardware.
Získejte sériový kabel USB na 3.3 V TTL.
Nejprve dejte dohromady hardware. V tomto tutoriálu bude komunikace se zařízením používat alternativní port COMM na desce. K tomu je potřeba speciální USB na TTL sériový kabel, který má interní adaptér pro převod signálu. Níže je obrázek kabelu potřebného pro tento tutoriál:
Obrázek 1: Požadovaný hardware
Většina kabelových adaptérů má 6 vylomených kolíků, ale jsou potřeba pouze 3. Alternativní COMM port na straně μEZ GUI používá konektor Hirose DF13.
Obrázek 2: Konektor USB TO TTL UART
Krok 2:
Připojte USB Rx k μEZ GUI TX (žlutá na pin 1).
Připojte USB Tx k μEZ GUI Rx (oranžová ke kolíku 6).
Připojte zem k zemi (černá ke kolíkům 4 nebo 5).
Připojte USB Rx k µEZ GUI TX (žlutá ke kolíku 1), USB Tx k µEZ GUI Rx (oranžová ke kolíku 6) a zem k zemi (černá ke kolíkům 4 nebo 5). Trojúhelníková šipka označuje kolík 1 na zadní straně µEZ GUI. Tyto obrázky byly přidány, aby vám vizuálně pomohly:
Na obrázcích je použit příslušný samičí kompliment k samčímu konektoru Hirose DF13 na desce µEZ GUI. Tento konektor však nemusíte používat, a pokud si budete jisti, můžete připojení k desce individuálně vypíchnout.
Krok 3:
Otevřete IAR Embedded Workbench.
Otevřete ukázkový projekt z kurzu 1.
Jakmile je µEZ GUI připojeno k počítači přes alternativní COMM port a USB na sériový kabel, je čas přidat kód. Nyní přejděte do IAR Embedded Workbench a otevřete ukázkový projekt, který byl vytvořen v tutoriálu 1. Do něj bude přidán kód pro funkci sériové komunikace a bude spuštěn samostatně na pozadí.
Nastavení projektu Files pro sériovou komunikaci
Pro demonstraci funkčnosti sériové komunikace na µEZ GUI bude vytvořen jednoduchý echo test. Chystáte se zapsat znak do zařízení přes okno terminálu na počítači a nechat GUI µEZ zapsat tento znak zpět do stejného okna.
Krok 4:
- Vytvořte záhlaví file s názvem serialecho.
- Vytvořte zdroj file s názvem serialecho.
- Přidejte tyto filek demo projektu.
Nejprve vytvořte záhlaví a zdroj file v projektu, který bude obsahovat kód pro spuštění sériové komunikace. Jděte do projektu a vytvořte dva nové files a pojmenujte je serialecho.h a serialecho.c. Zatím do nich nic nevkládejte, pouze je uložte do zdrojové složky projektu. Nyní přidejte files ke skutečnému projektu. V FileV okně dialogového okna Pracovní plocha klepněte pravým tlačítkem myši někam do okna a klepněte na Přidat Files… Přejděte do zdrojové složky projektu, kde se nachází files byly uloženy a kliknutím na každý z nich je přidejte. Nyní files jsou součástí projektu.
Aby bylo možné funkce spustit, je zapotřebí více nastavení. µEZ GUI plánuje funkce spouštěním úloh paralelně k sobě navzájem. Pro komunikaci nastavte úlohu pro spuštění funkce tak, aby mohla být vždy spuštěna na pozadí.
Krok 5:
- #include uEZ.h a uEZStream.h
- Vytvořte prototyp funkce pro „StartSerialEcho“
POZNÁMKA: Parametry nebudou ve funkci použity, ale musí být zahrnuty, jak je znázorněno, aby byly správně volány jako úloha.
Krok 6:
- #include serialecho.h
- Do funkce vložte smyčku while(1).
Další nastavení .c file. Zahrnout serialecho.h file nahoře. Nyní vytvořte prostor pro definici funkce. Dejte dovnitř smyčku while(1), aby úloha běžela nepřetržitě a neukončila se, což ukončí komunikaci.
Krok 7:
Přejděte na MainTask v main.c
Vložte volání funkce UEZTaskCreate pro StartSerialEcho.
Úloha musí být spuštěna při startu zařízení, aby mohla běžet na pozadí. Chcete-li to provést, přidejte malé množství kódu do souboru main.c file. Je uveden v file okno vlevo. Otevřete jej a přejděte dolů k funkci s názvem MainTask. Toto je funkce, která nastavuje úlohy a funkce zařízení, když je zapnuto. Těsně pod první příkaz printf vložte tento řádek kódu:
POZNÁMKA: Nedělejte si starosti s hodnotami parametrů. Je třeba je upravit pouze pro pokročilé úkoly, které budou popsány později.
Takto se v µEZ vytvoří nezávislá úloha. Podobně jako vlákno vytvoří úlohu pomocí funkce StartSerialEcho, která byla vytvořena dříve, a zavolá úlohu
"Echo". Nezapomeňte zahrnout serialecho.h file v main.c. Program by měl být nyní schopen zkompilovat a spustit. I když to není vidět, právě vytvořená úloha bude nyní běžet na pozadí, když je zařízení µEZ zapnuté a načtené.
Přidat volání knihovny µEZ pro sériovou komunikaci
Nyní přidejte kód funkce, aby úloha fungovala. K tomu potřebujete porozumět a používat některá volání funkcí z knihovny µEZ. Jsou již nastaveny tak, aby poskytovaly potřebné funkce pro daný úkol. Pohodlně je na FDI systém Doxygen webstránky, která má přehled všech různých funkcí knihovny µEZ. Nachází se zde. Na stránce přejděte na kartu Moduly v horní části a přejděte na µEZStream. Nyní budete na této stránce:
Toto jsou funkce, které použijeme k vytvoření sériové komunikace se zařízením µEZ GUI.
Krok 8:
Definujte proměnné
Otevřete UEZstream
První věcí, kterou je potřeba, je definovat proměnné, které jsou k tomu potřeba. První potřebná proměnná definuje samotné zařízení. Vložte „T_uEZDevice uart3;“ nad smyčkou while ve funkci. Dále je potřeba znaková vyrovnávací paměť pro příjem a odeslání znaku zpět. Na další řádek zadejte „TUInt8 receiverCOM[2];“ pro vyrovnávací paměť. Pro vstupní znak je potřeba pouze jeden index. Nyní otevřete komunikační stream pomocí řádku „uEZStreamOpen(“UART3“, &uart3);“. Nyní by funkce měla vypadat takto:
Jedna věc, která se snadno přehlédne, je, že UART3 již není inicializován jako UART0, a proto je k jeho inicializaci nutné přidat řádek kódu. Nad volání funkce uEZStreamOpen přidejte tento řádek:
Tím se inicializuje port UART3 zařízení a umožní jeho spuštění.
Krok 9:
- Propláchněte vyrovnávací paměť proudu.
- Vytvořte příkaz read.
- Vytvořte příkaz write.
Nyní přejděte do smyčky while a přidejte skutečnou funkci odesílání a přijímání. První věc, kterou je třeba udělat na začátku každé sériové smyčky, je vyprázdnit proud, aby nezůstalo nic, co by se dalo vyhodit do komunikační vyrovnávací paměti. Vložte řádek „µEZStreamFlush(uart3);“ jako první řádek uvnitř smyčky while. Nyní zahrňte funkce příjmu a odesílání, které se nazývají UEZtreamRead a UEZtreamWrite.
Zkopírujte funkci čtení přesně tak, jak je znázorněno na další části funkce:
Všimněte si, že argumenty a parametry jsou pro oba stejné. Parametry říkají grafickému uživatelskému rozhraní µEZ, aby poslouchalo jeden znak, dokud jej nepřijme, a poté jej vložilo do vyrovnávací paměti příjmu COM. Poté zapíše jeden znak z bufferu (velikost samotného bufferu) zpět do okna terminálu.
Krok 10:
- Uzavřete smyčku while(1).
- Vložte návratovou 0 na konec.
Nyní zavřete smyčku while a na konec vložte návratovou 0. Nikdy toho nebude dosaženo, ale protože jde o funkci vracející hodnotu, kterou lze volat jako úkol, je třeba něco nastavit, aby se vrátilo.
Po dokončení všeho by funkce měla vypadat takto:
POZNÁMKA: Toto je základní verze kódu, která nezahrnuje kontrolu chyb.
Tato verze tohoto kódu neobsahuje žádné formátování nebo kontrolu chyb, které by byly životně důležité ve skutečné implementaci. Přampinformace o implementaci formátování nebo kontroly chyb lze nalézt online v knihovnách µEZ a v již vytvořeném inkluzivním demo projektu, který má podrobnější example tohoto kódu. V tomto okamžiku byste se měli ujistit, že se projekt zkompiluje a opraví všechny chyby, které se mohou vyskytnout.
Krok 11:
- Zkompilujte projekt.
- Opravte případné chyby kompilace.
Spusťte program pomocí terminálového sériového připojení
Krok 12:
- Stáhněte si PuTTY.
- Spusťte PuTTY a nakonfigurujte pro sériový provoz.
- Otevřete okno terminálu.
Program je nyní připraven ke spuštění, ale pro použití se sériovou komunikací je třeba nastavit rozhraní. Snadno použitelný a bezplatný program s funkcí sériové konzole je široce používaný PuTTY. Lze jej stáhnout zde.
Po stažení spusťte exe file a změňte úvodní konfigurační obrazovku tak, aby zrcadlila toto:
Číslo COM je třeba nastavit na jakýkoli port COM, ke kterému je připojen sériový kabel na vašem počítači (najdete jej ve správci zařízení), a nemusí to být nutně COM4. Dále přejděte na Připojení->Sériové a ujistěte se, že vše odpovídá následujícímu:
Nyní klikněte na otevřít a objeví se okno konzoly. Pokud byl program nahrán a běží na počítači, budete moci zadat znaky do okna terminálu a nechat si je napsat zpět ze zařízení.
Gratuluji! Nyní jste úspěšně implementovali sériovou komunikaci na zařízení µEZ GUI s UART3. Nyní můžete komunikovat se zařízením µEZ GUI prostřednictvím alternativního sériového komunikačního portu TTL, který je k dispozici. To může být velmi užitečné při vydávání příkazů a později při ladění kódu. S kroky naučenými v tomto tutoriálu budete moci v nadcházejících tutoriálech snadněji přidávat další funkce zařízení. Podívejte se prosím na náš kompletní demo projekt ke stažení, napřampsoubory podrobnějšího kódování souvisejícího s tímto úkolem a dalšími.
Užijte si to!
Dokumenty / zdroje
![]() |
FDI Demo pro EZ GUI [pdfUživatelská příručka FDI_AN_uEZ_003, Demo pro EZ GUI, EZ GUI, GUI, Demo |