Innholdsfortegnelse:

Seriell feilsøking med CloudX: 3 trinn
Seriell feilsøking med CloudX: 3 trinn

Video: Seriell feilsøking med CloudX: 3 trinn

Video: Seriell feilsøking med CloudX: 3 trinn
Video: Cloud's Confusing Voice | Jaynalysis 2024, Juni
Anonim
Seriell feilsøking med CloudX
Seriell feilsøking med CloudX

I dette prosjektet tar jeg sikte på å forklare begrepet feilsøking via den serielle terminalen. Men først som en start, kan vi utforske konseptet gjennom betydningen.

1. seriell kommunikasjon

seriell kommunikasjon er for kommunikasjon mellom CloudX -kortet og en datamaskin eller andre enheter. Alle CloudX -kort har minst en sett seriell port (også kjent som en UART eller USART): Seriell. Den kommuniserer på digital RX- og TX -pin med andre hardwares eller serielle kommunikasjonsmoduler (som gsm og gps) som med datamaskinen via USB ved bruk av SoftCard. Så hvis du bruker disse funksjonene, kan du ikke også bruke TX og RX for digital inngang eller utgang. Du kan bruke CloudX-miljøets innebygde serielle skjerm til å kommunisere med et CloudX-kort. Klikk på den serielle skjermknappen på verktøylinjen og velg den samme overføringshastigheten som brukes i parameteren som ble kalt til serialBegin ().

2. Feilsøk

Debugging betyr ganske enkelt å identifisere og fjerne feil fra (maskinvare eller programvare). Debugging innebærer å finne og rette kodefeil i et dataprogram. Feilsøking er en del av programvaretestprosessen og er en integrert del av hele livssyklusen for programvareutvikling. La oss for eksempel ta at koden din har blitt vellykket, og du tester maskinvaren din og den fungerer ikke som forventet, selv om det er mange måter å feilsøke koden på; en enkel og effektiv måte å feilsøke det på er ved bruk av seriell feilsøking. CloudX IDE genererer to filtyper for vellykket kompilering, HEX- og COFF -fil. HEX -filen er strengt maskinkode, som er det som er bootloadet inn i brettet for utførelse i den virkelige verden, men kan også kjøres på PC -simuleringsprogrammene dine som Proteus Isis mens COFF -filen er et lesbart format som kan kjøres på PC -simuleringsprogrammene dine (Proteus Isis). For dette omfanget vil vi vurdere to grunnleggende typer feilsøking på seriell protokoll,

1. Myk seriell feilsøking:

I denne metoden utføres hver test og feilsøking på PC -en gjennom nyttig programvare som Proteus ISIS. Fordi CloudX i utgangspunktet genererer COFF -fil, anbefaler jeg å bruke denne til PC -simulering fordi du i utgangspunktet kan gå mellom kodelinjer og finne ut hvor et problem kommer fra, og hvis koden din må kjøres uten å gå, ved å bruke virtuell teminal fra "virtuelle" instrumentmodus "-verktøyet, kan du alltid vite hvor linjen kontrolleren kjører til enhver tid. La oss se på dette kodeeksemplet,

Trinn 1:

Bilde
Bilde
Bilde
Bilde

/*

* Fil: newmain.c

* Forfatter: OGBOYE GODWIN * * Opprettet 28. juni 2018, 10:15 */

#inkludere

#inkludere

/* vi skal lage

rød pin1 grønn pin2 gul pin3 *knapp pin4 */ char *tell = "hmmm, jeg har vært berøring"; setup () {pinMode (1, OUTPUT); pinMode (2, OUTPUT); pinMode (3, OUTPUT); pinMode (4, INNGANG); Serial_begin (9600); loop () {while (! readPin (4)); Serial_writeText (tell); Serial_writeText ("….flytter til rødt"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (1, HIGH); forsinkelser (200); // prøv å fjerne alle forsinkelser og se hva som skjer // erstatt dem (du kommer garantert til å elske det!). mens (! readPin (4)); Serial_writeText (tell); Serial_writeText ("….flytter til grønt"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (2, HIGH); forsinkelser (200); // prøv å fjerne alle forsinkelser og se hva som skjer // erstatt dem (du kommer garantert til å elske det!).

mens (! readPin (4));

Serial_writeText (tell); Serial_writeText ("….flytter seg til gult"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (3, HIGH); forsinkelser (200); // prøv å fjerne alle forsinkelser og se hva som skjer // erstatt dem (du kommer garantert til å elske det!). }}

Med dette kan du se hvordan seriell feilsøking er viktig hvis du fjerner forsinkelsen. hvis du gjorde det, ville du ha sett hvor plagsom den enkle koden kan forårsake hvis den kjøres i den virkelige verden uten disse forsinkelsene.

Steg 2:

Bilde
Bilde
Bilde
Bilde
Bilde
Bilde

2. Maskinvare feilsøking:

I denne metoden utføres hver test og feilsøking ved å feste CloudX -prototypekortet til PC -en ved hjelp av softCard og bruke enten CloudX IDEs serielle terminal (anbefalt) eller annen nyttig programvare som Proteus ISIS compim, realTerm, etc. Generer COFF filen kan ikke brukes her fordi denne metoden krever HEX -oppstart i maskinvaren, jeg anbefaler å bruke dette til CloudX softcard. Vær oppmerksom på at koden din kjøres uten å gå, slik at du alltid kan vite hvor linjen kontrolleren kjører til enhver tid av den serielle utgangen. La oss ta en titt på denne koden det samme eksemplet som er nevnt ovenfor, sett opp maskinvaren slik at den ligner min røde LED --------- til pin1 grønn LED --------- pin2 gul LED- ------- pin3-knapp --------- pin4

Trinn 3:

Bilde
Bilde

trinn

1. Bruk samme kode som ovenfor

2. start opp på brettet

3. start CloudX seriell terminal ved å klikke på "seriell" -knappen i verktøylinjen

4. velg ønsket port og overføringshastighet (9600 i denne opplæringen)

5. start terminalen ved å klikke på koble til (koble fra hvis du ønsker å slutte)

6. Når porten er åpnet/tilkoblet, trykker du kort på knappen etter ønske, og du ser seriell utgang på terminalvinduene. Vær oppmerksom på at hvis du har forsinkelser fra koden, vil du få flere serier med seriell utgang som kjører inn så raskt uten kontroll før du tar hendene av knappen. Hvis du av en eller annen grunn i koden din har et slikt eller lignende problem, kan du alltid bruke denne metoden til å feilsøke.

Anbefalt: