Obsah:

Sériové ladění pomocí CloudX: 3 kroky
Sériové ladění pomocí CloudX: 3 kroky
Anonim
Sériové ladění pomocí CloudX
Sériové ladění pomocí CloudX

V tomto projektu se snažím vysvětlit koncept ladění pomocí sériového terminálu. Nejprve však jako předkrm vysvětlíme jeho koncept prostřednictvím jeho významů.

1. sériová komunikace

sériová komunikace je pro komunikaci mezi deskou CloudX a počítačem nebo jinými zařízeními. Všechny desky CloudX mají alespoň jeden viděný sériový port (také známý jako UART nebo USART): Sériový. Komunikuje na digitálním RX a TX pinu s jinými hardwarovými nebo sériovými komunikačními moduly (jako gsm a gps) jako s počítačem přes USB pomocí karty SoftCard. Pokud tedy používáte tyto funkce, nemůžete také používat TX a RX pro digitální vstup nebo výstup. Ke komunikaci s deskou CloudX můžete použít vestavěný sériový monitor prostředí CloudX. Klikněte na tlačítko sériového monitoru na panelu nástrojů a vyberte stejnou přenosovou rychlost použitou v parametru volaném na serialBegin ().

2. Ladění

Ladění jednoduše znamená identifikovat a odstranit chyby z (počítačového hardwaru nebo softwaru). Ladění zahrnuje vyhledání a opravu chyb kódu v počítačovém programu. Ladění je součástí procesu testování softwaru a je nedílnou součástí celého životního cyklu vývoje softwaru. Vezměme si například, že váš kód byl úspěšně zkompilován a testujete svůj hardware a nefunguje podle očekávání, i když existuje mnoho způsobů, jak ladit váš kód; jednoduchý a účinný způsob ladění je použití sériového ladění. CloudX IDE generuje 2 typy souborů při úspěšné kompilaci, HEX a COFF. Soubor HEX je striktně strojový kód, což je to, co je načteno na desku pro provedení v reálném světě, ale může také běžet na vašem PC simulačním softwaru, jako je Proteus Isis, zatímco soubor COFF je čitelný formát spustitelný ve vašem simulačním softwaru pro PC (Proteus Isis). Pro tento rozsah budeme uvažovat dva základní typy ladění na sériovém protokolu,

1. Soft Serial Debugging:

V této metodě se každý test a ladění provádí na PC pomocí nějakého užitečného softwaru, jako je Proteus ISIS. Protože CloudX v zásadě generuje soubor COFF, doporučuji jej použít pro simulaci PC, protože s ním můžete v zásadě přecházet mezi řádky kódů a zjišťovat, odkud pochází problém, a pokud váš kód musí běžet bez krokování, použijte virtuální teminal z „virtuálního nástrojový režim nástroj, můžete vždy vědět, kde je linka, na které ovladač běží v daném okamžiku. podívejme se na tento příklad kódu,

Krok 1:

obraz
obraz
obraz
obraz

/*

* Soubor: newmain.c

* Autor: OGBOYE GODWIN * * Vytvořeno 28. června 2018, 10:15 AM */

#zahrnout

#zahrnout

/* uděláme

červený pin1 zelený pin2 žlutý pin3 *tlačítko pin4 */ char *tell = "hmmm, byl jsem dotek"; setup () {pinMode (1, OUTPUT); pinMode (2, VÝSTUP); pinMode (3, VÝSTUP); pinMode (4, VSTUP); Serial_begin (9600); loop () {while (! readPin (4)); Serial_writeText (tell); Serial_writeText ("….přesunutí na červenou"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (1, VYSOKÝ); zpoždění (200); // zkuste odstranit všechny zpoždění komentování a uvidíte, co se stane // pak je vyměňte (určitě to budete milovat!). while (! readPin (4)); Serial_writeText (tell); Serial_writeText ("….přesun na zelenou"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (2, VYSOKÉ); zpoždění (200); // zkuste odstranit všechny zpoždění komentování a uvidíte, co se stane // pak je nahraďte (určitě budete milovat!).

while (! readPin (4));

Serial_writeText (tell); Serial_writeText ("….přesunutí na žlutou"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (3, VYSOKÉ); zpoždění (200); // zkuste odstranit všechny zpoždění komentování a uvidíte, co se stane // pak je vyměňte (určitě to budete milovat!). }}

s tímto můžete vidět, jak je důležité sériové ladění, pokud odstraníte zpoždění. kdybyste to udělali, viděli byste, jak obtížný může tento jednoduchý kód způsobit, pokud je spuštěn v reálném světě bez těchto zpoždění.

Krok 2:

obraz
obraz
obraz
obraz
obraz
obraz

2. Ladění hardwaru:

V této metodě se každý test a ladění provádí připojením prototypové desky CloudX k počítači pomocí karty softCard a využitím buď sériového terminálu CloudX IDE (doporučeno), nebo jiného užitečného softwaru, jako je Proteus ISIS compim, realTerm atd. Generování COFF soubor zde nelze použít, protože tato metoda vyžaduje zavádění HEX do hardwaru, doporučuji použít toto pro softcard CloudX. Všimněte si, že váš kód běží bez šlapání, takže můžete vždy vědět, kde je řádek, na kterém je řadič spuštěn v daném okamžiku podle sériového výstupu. podívejme se na tento kód stejný příklad uvedený výše, nastavte svůj hardware tak, aby se podobal červené LED --------- na pin1 zelenou LED --------- pin2 žlutou LED- ------- tlačítko pin3 --------- pin4

Krok 3:

obraz
obraz

kroky

1. Použijte stejný kód jako výše

2. bootload do vaší desky

3. spusťte sériový terminál CloudX kliknutím na tlačítko „sériový“na panelu nástrojů

4. vyberte požadovaný port a přenosovou rychlost (9600 v tomto tutoriálu)

5. spusťte terminál kliknutím na připojit (odpojit, pokud si přejete ukončit)

6. s otevřeným/připojeným portem na okamžik libovolně stiskněte tlačítko a uvidíte sériový výstup zobrazený v oknech terminálu. Všimněte si toho, že pokud máte zpoždění z kódu, dostanete několik řádků sériového výstupu tak rychle bez kontroly, než sundáte ruce z tlačítka. Pokud z jakéhokoli důvodu ve vašem kódu máte takový nebo podobný problém, můžete tuto metodu vždy použít k ladění.

Doporučuje: