Sisällysluettelo:

Sarjan virheenkorjaus CloudX: 3 vaihetta
Sarjan virheenkorjaus CloudX: 3 vaihetta

Video: Sarjan virheenkorjaus CloudX: 3 vaihetta

Video: Sarjan virheenkorjaus CloudX: 3 vaihetta
Video: Cara mengaktifkan paket cloudx 30GB harga Rp10 2024, Marraskuu
Anonim
Sarjan virheenkorjaus CloudX: n avulla
Sarjan virheenkorjaus CloudX: n avulla

Tässä projektissa pyrin selittämään virheenkorjauksen käsitteen sarjapäätteen kautta. Mutta ensin aloittajana, selitetään sen käsite sen merkitysten kautta.

1. sarjaliikenne

sarjaliikenne on tarkoitettu CloudX -kortin ja tietokoneen tai muiden laitteiden väliseen viestintään. Kaikissa CloudX -levyissä on ainakin yksi sarjaportti (tunnetaan myös nimellä UART tai USART): Sarja. Se kommunikoi digitaalisessa RX- ja TX -nastassa muiden laitteistojen tai sarjaviestintämoduulien (kuten gsm ja gps) kanssa kuten tietokoneen kanssa USB -liitännän kautta SoftCardin avulla. Jos käytät näitä toimintoja, et voi myös käyttää TX- ja RX -tuloja digitaaliseen tuloon tai lähtöön. Voit käyttää CloudX-ympäristön sisäänrakennettua sarjamonitoria kommunikoidaksesi CloudX-kortin kanssa. Napsauta työkalurivin sarjamonitorinäppäintä ja valitse sama siirtonopeus, jota käytetään parametrissa serialBegin ().

2. Virheenkorjaus

Virheenkorjaus tarkoittaa yksinkertaisesti virheiden tunnistamista ja poistamista (tietokoneen laitteisto tai ohjelmisto). Virheenkorjaus on osa ohjelmistojen testausprosessia ja olennainen osa koko ohjelmistokehityksen elinkaarta. Otetaan esimerkiksi, että koodisi on käännetty onnistuneesti ja testaat laitteistoa eikä se toimi odotetulla tavalla, vaikka koodin virheenkorjaukseen on monia tapoja; yksinkertainen ja tehokas tapa korjata se on käyttämällä sarjavirheenkorjausta. CloudX IDE luo 2 tyyppistä tiedostoa onnistuneessa kokoamisessa, HEX- ja COFF -tiedostot. HEX -tiedosto on ehdottomasti konekoodi, joka ladataan levylle suoritettavaksi todellisessa maailmassa, mutta sitä voidaan käyttää myös PC -simulointiohjelmistoilla, kuten Proteus Isis, kun taas COFF -tiedosto on luettavissa oleva muoto, joka voidaan suorittaa tietokoneesi simulointiohjelmistossa (Proteus Isis). Tässä laajuudessa tarkastelemme kahta perustyyppistä sarjaprotokollan virheenkorjausta,

1. Pehmeä sarjavianetsintä:

Tässä menetelmässä jokainen testi ja virheenkorjaus suoritetaan PC: llä hyödyllisten ohjelmistojen, kuten Proteus ISIS, kautta. Koska CloudX luo pohjimmiltaan COFF -tiedoston, suosittelen tämän käyttämistä PC -simuloinnissa, koska sen avulla voit periaatteessa siirtyä koodirivien väliin ja selvittää, mistä ongelma tulee, ja jos koodisi on suoritettava askelematta, käyttämällä virtuaalista teminalia työkalutila -työkalu, voit aina tietää, missä linjassa ohjain kulkee kulloinkin. Katsotaanpa tätä koodiesimerkkiä,

Vaihe 1:

Kuva
Kuva
Kuva
Kuva

/*

* Tiedosto: newmain.c

* Kirjoittaja: OGBOYE GODWIN * * Luotu 28. kesäkuuta 2018, klo 10.15 */

#sisältää

#sisältää

/* tulemme tekemään

punainen nasta1 vihreä nasta2 keltainen nasta3 *painike pin4 */ char *tell = "hmmm, olen ollut kosketuksissa"; setup () {pinMode (1, OUTPUT); pinMode (2, LÄHTÖ); pinMode (3, LÄHTÖ); pinMode (4, TULO); Sarja_alku (9600); loop () {while (! readPin (4)); Serial_writeText (kerro); Serial_writeText ("… siirtyy punaiseksi"); Sarjan_kirjoitus (0x0D); portWrite (1, 0x00); pinSelect (1, HIGH); delaymit (200); // yritä poistaa kommenttien kaikki viiveet ja katso mitä tapahtuu // vaihda ne sitten (tulet varmasti rakastamaan!). while (! readPin (4)); Serial_writeText (kerro); Serial_writeText ("… siirtyy vihreään"); Sarjan_kirjoitus (0x0D); portWrite (1, 0x00); pinSelect (2, HIGH); delaymit (200); // yritä poistaa kommenttien kaikki viiveet ja katso mitä tapahtuu // vaihda ne sitten (tulet varmasti rakastamaan!).

while (! readPin (4));

Serial_writeText (kerro); Serial_writeText ("… siirtyy keltaiseksi"); Sarjan_kirjoitus (0x0D); portWrite (1, 0x00); pinSelect (3, HIGH); delaymit (200); // yritä poistaa kommenttien kaikki viiveet ja katso mitä tapahtuu // vaihda ne sitten (tulet varmasti rakastamaan!). }}

Tämän avulla näet, kuinka sarjavirheiden korjaus on tärkeää, jos poistat viiveen. jos tekisit sen, olisit nähnyt kuinka hankalaa tämä yksinkertainen koodi voi aiheuttaa, jos se suoritetaan todellisessa maailmassa ilman viiveitä.

Vaihe 2:

Kuva
Kuva
Kuva
Kuva
Kuva
Kuva

2. Laitteiston virheenkorjaus:

Tässä menetelmässä jokainen testi ja virheenkorjaus tehdään liittämällä CloudX -prototyyppikortti PC: hen softCard -kortilla ja käyttämällä joko CloudX IDE: n sarjapäätettä (suositus) tai jotain muuta hyödyllistä ohjelmistoa, kuten Proteus ISIS compim, realTerm jne. tiedostoa ei voi käyttää tässä, koska tämä menetelmä vaatii HEX -käynnistyksen laitteistoon, suosittelen tämän käyttämistä CloudX -ohjelmistokortille. Huomaa, että koodisi suoritetaan askelematta, joten sarjaliitännällä voit aina tietää, missä rivissä ohjain kulkee. Katsotaanpa tätä koodia sama esimerkki, joka on lueteltu yllä, asenna laitteistosi simulaattoriksi minun punaiselle LED: lle --------- nastalle 1 vihreä LED --------- pin2 keltainen LED- ------- pin3-painike --------- pin4

Vaihe 3:

Kuva
Kuva

askeleet

1. Käytä samaa koodia kuin yllä

2. Käynnistä lauta

3. käynnistä CloudX -sarjapääte napsauttamalla työkalupalkin "sarja" -painiketta

4. valitse haluamasi portti ja siirtonopeus (9600 tässä opetusohjelmassa)

5. käynnistä päätelaite napsauttamalla Yhdistä (katkaise yhteys, jos haluat lopettaa)

6. Kun portti on avattu/kytketty, paina hetkeksi painiketta halutessasi ja näet sarjalähdön pääteikkunoissa. Huomaa, että jos viiveet poistetaan koodista, saat useita sarjaliitännän rivejä niin nopeasti ilman hallintaa, ennen kuin otat kädet pois painikkeesta. Jos jostain syystä koodissasi on tällainen tai vastaava ongelma, voit aina käyttää tätä menetelmää virheenkorjaukseen.

Suositeltava: