Sadržaj:

Serijsko otklanjanje pogrešaka s CloudX -om: 3 koraka
Serijsko otklanjanje pogrešaka s CloudX -om: 3 koraka

Video: Serijsko otklanjanje pogrešaka s CloudX -om: 3 koraka

Video: Serijsko otklanjanje pogrešaka s CloudX -om: 3 koraka
Video: Code Typhon Studio / Обзор / Преимущества, особенности / Установка, удаление / Object Pascal IDE 2024, Studeni
Anonim
Serijsko otklanjanje pogrešaka s CloudX -om
Serijsko otklanjanje pogrešaka s CloudX -om

U ovom projektu želim objasniti koncept ispravljanja pogrešaka putem serijskog terminala. Ali najprije kao početak, dopustimo objasniti svoj koncept kroz njegova značenja.

1. serijska komunikacija

serijska komunikacija služi za komunikaciju između CloudX ploče i računala ili drugih uređaja. Sve CloudX ploče imaju barem jedan viđeni serijski port (također poznat i kao UART ili USART): Serijski. Komunicira na digitalnom RX i TX pin -u s drugim hardverskim ili serijskim komunikacijskim modulima (poput gsm -a i gps -a) kao i s računalom putem USB -a pomoću SoftCard kartice. Stoga, ako koristite ove funkcije, ne možete također koristiti TX i RX za digitalni ulaz ili izlaz. Za komunikaciju s CloudX pločom možete koristiti ugrađeni serijski monitor CloudX okruženja. Pritisnite gumb serijskog monitora na alatnoj traci i odaberite istu brzinu prijenosa koja se koristi u parametru koji se zove serialBegin ().

2. Otklanjanje pogrešaka

Otklanjanje pogrešaka jednostavno znači identificiranje i uklanjanje pogrešaka iz (računalnog hardvera ili softvera). Otklanjanje pogrešaka uključuje lociranje i ispravljanje grešaka koda u računalnom programu. Otklanjanje pogrešaka dio je procesa testiranja softvera i sastavni je dio cjelokupnog životnog ciklusa razvoja softvera. Uzmimo za primjer da je vaš kod uspješno preveden i da testirate svoj hardver i da ne radi kako se očekivalo, iako postoji mnogo načina za uklanjanje pogrešaka u vašem kodu; jednostavan i učinkovit način za ispravljanje pogrešaka je pomoću serijskog ispravljanja pogrešaka. CloudX IDE generira 2 vrste datoteka o uspješnoj kompilaciji, HEX i COFF datoteku. HEX datoteka strogo je strojni kod koji se učitava na ploču radi izvođenja u stvarnom svijetu, ali se također može pokrenuti i na simulacijskom softveru vašeg računala poput Proteus Isis, dok je COFF datoteka čitljiv format koji se može izvršiti na softveru za simulaciju vašeg računala (Proteus Isis). Za ovaj opseg razmotrit ćemo dvije osnovne vrste otklanjanja pogrešaka na serijskom protokolu,

1. Soft serijsko otklanjanje pogrešaka:

U ovoj metodi, svaki test i ispravljanje pogrešaka obavlja se na računalu putem nekog korisnog softvera poput Proteus ISIS -a. Budući da CloudX u osnovi generira COFF datoteku, preporučujem da se ovo koristi za simulaciju računala jer pomoću nje možete u osnovi koračati između redaka kodova i shvatiti odakle dolazi problem, a ako se vaš kôd mora pokrenuti bez koraka, koristeći virtualni terminal iz "virtualnog terminala" instrument mode ", uvijek možete znati gdje se nalazi linija na kojoj upravljač radi u bilo kojem trenutku. pogledajmo ovaj primjer koda,

Korak 1:

Slika
Slika
Slika
Slika

/*

* Datoteka: newmain.c

* Autor: OGBOYE GODWIN * * Kreirano 28. lipnja 2018., 10:15 */

#uključi

#uključi

/* mi ćemo napraviti

crveni pin1 zeleni pin2 žuti pin3 *gumb pin4 */ char *tell = "hmmm, bio sam dodir"; setup () {pinMode (1, OUTPUT); pinMode (2, OUTPUT); pinMode (3, OUTPUT); pinMode (4, INPUT); Serial_begin (9600); loop () {while (! readPin (4)); Serial_writeText (recite); Serial_writeText ("….premještanje u crveno"); Serijski_pis (0x0D); portWrite (1, 0x00); pinSelect (1, HIGH); kašnjenja (200); // pokušajte ukloniti sve odgode komentiranja i vidjeti što će se dogoditi // zatim ih zamijenite (sigurno ćete voljeti!). while (! readPin (4)); Serial_writeText (recite); Serial_writeText ("….prelazak na zeleno"); Serijski_pis (0x0D); portWrite (1, 0x00); pinSelect (2, HIGH); kašnjenja (200); // pokušajte ukloniti komentariranje svih kašnjenja i vidjeti što će se dogoditi // zatim ih zamijenite (sigurno ćete voljeti!).

while (! readPin (4));

Serial_writeText (recite); Serial_writeText ("….premještanje u žuto"); Serijski_pis (0x0D); portWrite (1, 0x00); pinSelect (3, HIGH); kašnjenja (200); // pokušajte ukloniti komentariranje svih kašnjenja i vidjeti što će se dogoditi // zatim ih zamijenite (sigurno ćete voljeti!). }}

s ovim možete vidjeti koliko je serijsko ispravljanje pogrešaka važno ako uklonite odgode. da ste to učinili, vidjeli biste koliko taj jednostavan kôd može izazvati probleme ako se izvrši u stvarnom svijetu bez odlaganja.

Korak 2:

Slika
Slika
Slika
Slika
Slika
Slika

2. Otklanjanje pogrešaka u hardveru:

U ovoj se metodi svako testiranje i ispravljanje pogrešaka vrši spajanjem CloudX prototipne ploče na računalo pomoću softCard kartice i korištenjem serijskog terminala CloudX IDE -a (preporučeno) ili nekog drugog korisnog softvera poput Compus -a Proteus ISIS, realTerm itd. Generirajte COFF Datoteka se ovdje ne može koristiti jer ova metoda zahtijeva HEX učitavanje u hardver, preporučujem da je koristite za CloudX softcard. Imajte na umu da vaš kôd radi bez koraka, tako da uvijek možete znati gdje se nalazi linija na kojoj upravljač radi u bilo kojem trenutku prema serijskom izlazu. pogledajmo ovaj kôd isti gore navedeni primjer, postavite svoj hardver tako da bude sličan miniranju crvene LED --------- na pin1 zelenoj LED --------- pin2 žutoj LED- ------- gumb pin3 --------- pin4

3. korak:

Slika
Slika

korake

1. Upotrijebite isti kod kao gore

2. bootload na ploču

3. pokrenite CloudX serijski terminal klikom na gumb "serijski" na alatnoj traci

4. odaberite željeni port i brzinu prijenosa (9600 u ovom vodiču)

5. pokrenite terminal klikom na poveži (prekinite vezu ako želite prekinuti)

6. s otvorenim/spojenim portom, na trenutak pritisnite gumb po želji i vidjet ćete serijski izlaz prikazan na prozorima terminala. Imajte na umu da ako imate kašnjenja u šifri, dobit ćete više redova serijskog izlaza koji se izvode tako brzo bez kontrole prije nego što skinete ruke s gumba. Ako iz bilo kojeg razloga u vašem kodu imate takav ili sličan problem, uvijek možete koristiti ovu metodu za otklanjanje pogrešaka.

Preporučeni: