Talaan ng mga Nilalaman:

Serial Debugging With CloudX: 3 Hakbang
Serial Debugging With CloudX: 3 Hakbang

Video: Serial Debugging With CloudX: 3 Hakbang

Video: Serial Debugging With CloudX: 3 Hakbang
Video: #224 ๐Ÿ›‘ STOP using Serial.print in your Arduino code! THIS is better. 2024, Nobyembre
Anonim
Serial Debugging Sa CloudX
Serial Debugging Sa CloudX

Sa proyektong ito, naglalayon ako na mapalabas ang konsepto ng pag-debug sa pamamagitan ng serial terminal. Ngunit una bilang isang nagsisimula, hinahayaan ang explaing ang konsepto nito sa pamamagitan ng mga kahulugan nito.

1. serial komunikasyon

ang serial na komunikasyon ay para sa komunikasyon sa pagitan ng board ng CloudX at isang computer o iba pang mga aparato. Ang lahat ng mga board ng CloudX ay mayroong kahit isang nakita na serial port (kilala rin bilang isang UART o USART): Serial. Nakikipag-usap ito sa digital RX at TX pin sa iba pang mga hardwares o serial module ng komunikasyon (tulad ng gsm at gps) tulad ng computer sa pamamagitan ng USB gamit ang SoftCard. Kaya, kung gagamitin mo ang mga pagpapaandar na ito, hindi mo rin magagamit ang TX at RX para sa digital input o output. Maaari mong gamitin ang built-in na serial monitor ng kapaligiran ng CloudX upang makipag-usap sa isang CloudX board. I-click ang pindutang serial monitor sa toolbar at piliin ang parehong rate ng baud na ginamit sa parameter na tinawag sa serialBegin ().

2. Pag-debug

Nangangahulugan lamang ang pag-debug na kilalanin at alisin ang mga error mula sa (computer hardware o software). Ang pag-debug ay nagsasangkot sa paghahanap at pagwawasto ng mga error sa code sa isang computer program. Ang pag-debug ay bahagi ng proseso ng pagsubok ng software at isang mahalagang bahagi ng buong buong buhay ng software development. Hinahayaan natin halimbawa na matagumpay na naipon ang iyong code at sinusubukan mo ang iyong hardware at hindi ito gumagana tulad ng inaasahan, bagaman maraming paraan upang i-debug ang iyong code; isang simple at effectice na paraan upang ma-debug ito ay sa pamamagitan ng paggamit ng serial debugging. Bumubuo ang CloudX IDE ng 2 uri ng file sa matagumpay na pagtitipon, HEX at COFF file. Ang HEX file ay mahigpit na code ng makina na kung saan ay na-bootload sa board para sa pagpapatupad sa totoong mundo ngunit maaari ding tumakbo sa iyong mga software ng simulation ng PC tulad ng Proteus Isis habang ang file ng COFF ay isang nababasa na format na naisasagawa sa iyong mga software ng simulation ng PC (Proteus Isis). Para sa saklaw na ito isasaalang-alang namin ang dalawang pangunahing uri ng pag-debug sa serial protocol,

1. Soft Serial Debugging:

Sa pamamaraang ito, ang bawat pagsubok at pag-debug ay ginagawa sa PC sa pamamagitan ng ilang kapaki-pakinabang na software tulad ng Proteus ISIS. Dahil ang CloudX ay karaniwang bumubuo ng COFF file, inirerekumenda kong gamitin ito para sa simulation ng PC dahil dito maaari kang karaniwang hakbang sa pagitan ng mga linya ng mga code at malaman kung saan nagmumula ang isang problema, at kung ang iyong code ay dapat tumakbo nang walang hakbang, gamit ang virtual teminal mula sa "virtual tool mode na instrumento ", palagi mong malalaman kung saan aling linya ang nagpapatakbo ng controller sa anumang naibigay na oras. hinayaan nating tingnan ang halimbawa ng code na ito,

Hakbang 1:

Larawan
Larawan
Larawan
Larawan

/*

* File: newmain.c

* May-akda: OGBOYE GODWIN * * Nilikha noong Hunyo 28, 2018, 10:15 AM * /

# isama

# isama

/ * gagawa kami

pulang pin1 berde pin2 dilaw na pin3 * pindutan pin4 * / char * sabihin = "hmmm, nahipo ako"; setup () {pinMode (1, OUTPUT); pinMode (2, OUTPUT); pinMode (3, OUTPUT); pinMode (4, INPUT); Serial_begin (9600); loop () {habang (! readPin (4)); Serial_writeText (sabihin); Serial_writeText ("โ€ฆ.maglilipat sa pula"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (1, TAAS); mga pagkaantala (200); // subukang alisin ang pagkomento sa lahat ng pagkaantala at tingnan kung ano ang mangyayari // pagkatapos ay palitan ang mga ito (tiyak na gugustuhin mong!). habang (! readPin (4)); Serial_writeText (sabihin); Serial_writeText ("โ€ฆ.moving to green"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (2, MATAAS); mga pagkaantala (200); // subukang alisin ang pagkomento sa lahat ng pagkaantala at tingnan kung ano ang mangyayari // pagkatapos ay palitan ang mga ito (tiyak na gugustuhin mong!).

habang (! readPin (4));

Serial_writeText (sabihin); Serial_writeText ("โ€ฆ.maglilipat sa dilaw"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (3, TAAS); mga pagkaantala (200); // subukang alisin ang pagkomento sa lahat ng pagkaantala at tingnan kung ano ang mangyayari // pagkatapos ay palitan ang mga ito (tiyak na gugustuhin mong!). }}

sa pamamagitan nito maaari mong makita kung gaano kahalaga ang Serial debugging kung aalisin mo ang pagkaantala. kung ginawa mo iyon ay makikita mo kung gaano kaguluhan ang simpleng code na maaaring maging sanhi kung ito ay naisakatuparan sa totoong mundo nang wala ang mga pagkaantala.

Hakbang 2:

Larawan
Larawan
Larawan
Larawan
Larawan
Larawan

2. Pag-debug ng Hardware:

Sa pamamaraang ito, ang bawat pagsubok at pag-debug ay ginagawa sa pamamagitan ng paglakip ng CloudX prototype board sa PC gamit ang softCard at paggamit ng alinman sa serial terminal ng CloudX IDE (inirekomenda) o ilang iba pang kapaki-pakinabang na software tulad ng Proteus ISIS compim, realTerm, atbp. Bumuo ng COFF gagamitin ang file cant dito dahil ang pamamaraang ito ay hinihingi ang HEX bootloaded sa hardware, inirerekumenda kong gamitin ito para sa CloudX softcard. Tandaan na tatakbo ang iyong code nang walang hakbang upang lagi mong malaman kung aling aling linya ang controller ay tumatakbo sa anumang naibigay na oras ng serial output. Hinahayaan mong tingnan ang code na ito sa parehong halimbawang nakalista sa itaas, i-setup ang iyong hardware upang maging similer sa minahan ng pulang LED --------- sa pin1 berde na LED --------- pin2 dilaw na LED - ------- pindutan ng pin3 --------- pin4

Hakbang 3:

Larawan
Larawan

mga hakbang

1. Gumamit ng parehong code tulad ng nasa itaas

2. bootload sa iyong board

3. simulan ang CloudX serial Terminal sa pamamagitan ng pag-click sa "serial" na pindutan sa tool bar

4. piliin ang nais na port at baud rate (9600 sa tutorial na ito)

5. simulan ang terminal sa pamamagitan ng pag-click sa kumonekta (idiskonekta kung nais mong umalis)

6. sa port na binuksan / konektado, pansamantalang itulak ang pindutan sa kalooban at makikita mo ang serial output na ipinapakita sa mga terminal windows. Tandaan na kung mayroon kang mga pagkaantala sa code, makakakuha ka ng maraming mga linya ng serial output na tumatakbo nang napakabilis nang walang kontrol bago mo alisin ang iyong mga kamay sa pindutan. Kung sa anumang kadahilanan sa iyong code, mayroon kang tulad o katulad na problema, maaari mong palaging gamitin ang pamamaraang ito upang i-debug.

Inirerekumendang: