INHOUDSOPGAWE:

Seriële ontfouting met CloudX: 3 stappe
Seriële ontfouting met CloudX: 3 stappe

Video: Seriële ontfouting met CloudX: 3 stappe

Video: Seriële ontfouting met CloudX: 3 stappe
Video: How measure DC Voltage and Current and build Energy meter with LCD Display | Lesson 104 2024, November
Anonim
Seriële ontfouting met CloudX
Seriële ontfouting met CloudX

In hierdie projek wil ek die konsep van ontfouting via die seriële terminale verduidelik. Maar eers as 'n voorgereg, laat ons die konsep ondersoek deur die betekenis daarvan.

1. reekskommunikasie

seriële kommunikasie is vir kommunikasie tussen die CloudX -bord en 'n rekenaar of ander toestelle. Alle CloudX -borde het ten minste een seriële poort (ook bekend as UART of USART): Serial. Dit kommunikeer op digitale RX- en TX -pen met ander hardeware of seriële kommunikasiemodules (soos gsm en gps) soos met die rekenaar via USB met behulp van die SoftCard. As u dus hierdie funksies gebruik, kan u nie ook TX en RX vir digitale invoer of uitvoer gebruik nie. U kan die ingeboude seriële monitor van die CloudX-omgewing gebruik om met 'n CloudX-bord te kommunikeer. Klik op die seriële monitor -knoppie in die werkbalk en kies dieselfde baud -tempo wat gebruik word in die parameter wat na serialBegin () genoem word.

2. Ontfout

Ontfouting beteken eenvoudig om foute van (rekenaarhardeware of sagteware) te identifiseer en te verwyder. Ontfouting behels die opsporing en regstelling van kodefoute in 'n rekenaarprogram. Ontfouting is deel van die sagtewaretoetsproses en is 'n integrale deel van die hele lewensiklus van sagteware -ontwikkeling. Neem byvoorbeeld dat u kode suksesvol saamgestel is en u hardeware toets en dit nie werk soos verwag nie, hoewel daar baie maniere is om u kode te ontfout; 'n eenvoudige en effektiewe manier om dit te ontfout, is deur die gebruik van seriële ontfouting. Die CloudX IDE genereer 2 soorte lêers op 'n suksesvolle samestelling, HEX- en COFF -lêer. Die HEX -lêer is streng masjienkode, wat in die werkbord gestart word vir uitvoering in die werklike wêreld, maar kan ook op u rekenaar -simulasieprogramme soos Proteus Isis uitgevoer word, terwyl die COFF -lêer 'n leesbare formaat is wat op u rekenaar -simulasieprogrammatuur (Proteus Isis) uitvoerbaar is. Vir hierdie omvang sal ons twee basiese tipes ontfouting oor seriële protokol oorweeg,

1. Sagte seriële ontfouting:

In hierdie metode word elke toets en ontfouting op die rekenaar uitgevoer met behulp van nuttige sagteware soos Proteus ISIS. Omdat die CloudX eintlik COFF -lêer genereer, raai ek u aan om dit vir PC -simulasie te gebruik, want u kan basies tussen reëls kodes stap en bepaal waar 'n probleem vandaan kom, en as u kode moet loop sonder om te stap, met behulp van virtuele teminal van die 'virtuele' instrumentmodus -gereedskap, kan u altyd weet waarheen die beheerder op 'n gegewe tydstip loop. Kom ons kyk na hierdie kode voorbeeld,

Stap 1:

Beeld
Beeld
Beeld
Beeld

/*

* Lêer: newmain.c

* Skrywer: OGBOYE GODWIN * * Geskep op 28 Junie 2018, 10:15 *

#insluit

#insluit

/* ons sal maak

rooi pen1 groen pen2 geel pen3 *knoppie pin4 */ char *tell = "hmmm, ek is raak"; setup () {pinMode (1, OUTPUT); pinMode (2, UITGANG); pinMode (3, UITGANG); pinMode (4, INVOER); Seriële_begin (9600); loop () {terwyl (! readPin (4)); Serial_writeText (vertel); Serial_writeText ("….skuif na rooi"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (1, HOOG); vertragings (200); // probeer om alle vertragings uit die kommentaar te verwyder en kyk wat gebeur // vervang dit dan (u sal dit beslis geniet!). terwyl (! readPin (4)); Serial_writeText (vertel); Serial_writeText ("….skuif na groen"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (2, HOOG); vertragings (200); // probeer om alle vertragings uit die kommentaar te verwyder en kyk wat gebeur // vervang dit dan (u sal dit beslis geniet!).

terwyl (! readPin (4));

Serial_writeText (vertel); Serial_writeText ("…. Beweeg na geel"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (3, HOOG); vertragings (200); // probeer om alle vertragings uit die kommentaar te verwyder en kyk wat gebeur // vervang dit dan (u sal dit beslis geniet!). }}

hiermee kan u sien hoe die seriële ontfouting belangrik is as u die vertraging verwyder. as u dit gedoen het, sou u gesien het hoe lastig die eenvoudige kode kan wees as dit sonder die vertraging in die regte wêreld uitgevoer word.

Stap 2:

Beeld
Beeld
Beeld
Beeld
Beeld
Beeld

2. Ontfouting van hardeware:

In hierdie metode word elke toets en ontfouting uitgevoer deur die CloudX -prototipe -bord aan die rekenaar te koppel met behulp van die softCard en gebruik te maak van die seriële terminale van CloudX IDE (aanbeveel) of ander nuttige sagteware soos Proteus ISIS compim, realTerm, ens. Genereer COFF Die lêer kan nie hier gebruik word nie, want hierdie metode vereis dat HEX in die hardeware gelaai word, ek beveel aan dat u dit vir CloudX softcard gebruik. Let daarop dat u kode sonder om te stap, sodat u altyd kan weet waar die reël op 'n gegewe tydstip deur die reeksuitset loop. Kom ons kyk na hierdie kode, dieselfde voorbeeld hierbo, en stel u hardeware op dieselfde manier as rooi LED --------- na pin1 groen LED --------- pin2 geel LED- ------- pin3 knoppie --------- pin4

Stap 3:

Beeld
Beeld

stappe

1. Gebruik dieselfde kode as hierbo

2. selflaai in jou bord

3. begin die CloudX seriële terminale deur op die "seriële" knoppie in die werkbalk te klik

4. kies die gewenste poort en baud -tempo (9600 in hierdie handleiding)

5. begin die terminale deur te klik op connect (ontkoppel as u wil ophou)

6. Met die poort oop/gekoppel, druk kortliks op die knoppie en u sien die seriële uitset op die eindvensters. Let daarop dat as u die kode vertraag het, u verskeie reëls met 'n reeks uitvoer so vinnig sonder beheer kan kry voordat u u hande van die knoppie afhaal. As u om die een of ander rede in u kode 'n soortgelyke of soortgelyke probleem het, kan u hierdie metode altyd gebruik om te ontfout.

Aanbeveel: