Indholdsfortegnelse:

Seriel fejlfinding med CloudX: 3 trin
Seriel fejlfinding med CloudX: 3 trin

Video: Seriel fejlfinding med CloudX: 3 trin

Video: Seriel fejlfinding med CloudX: 3 trin
Video: Установка инсталляции. Монтаж водонагревателя. Ошибки. 2024, Juni
Anonim
Seriel fejlfinding med CloudX
Seriel fejlfinding med CloudX

I dette projekt sigter jeg på at forklare konceptet med fejlfinding via den serielle terminal. Men lad os først som en starter udforske sit koncept gennem dets betydninger.

1. seriel kommunikation

seriel kommunikation er til kommunikation mellem CloudX -kortet og en computer eller andre enheder. Alle CloudX -kort har mindst en set seriel port (også kendt som en UART eller USART): Seriel. Det kommunikerer på digital RX- og TX -pin med andre hardwares eller serielle kommunikationsmoduler (f.eks. Gsm og gps) som med computeren via USB ved hjælp af SoftCard. Så hvis du bruger disse funktioner, kan du ikke også bruge TX og RX til digital input eller output. Du kan bruge CloudX-miljøets indbyggede serielle skærm til at kommunikere med et CloudX-kort. Klik på knappen til seriel skærm i værktøjslinjen, og vælg den samme baudhastighed, der bruges i parameteren, der kaldes til serialBegin ().

2. Debug

Debugging betyder simpelthen at identificere og fjerne fejl fra (computerhardware eller software). Debugging indebærer at lokalisere og rette kodefejl i et computerprogram. Debugging er en del af softwaretestprocessen og er en integreret del af hele softwareudviklingens livscyklus. Lad os f.eks. Tage, at din kode er blevet kompileret, og du tester din hardware, og den fungerer ikke som forventet, selvom der er mange måder at fejlfinde din kode på; en enkel og effektiv måde at fejlsøge det på er ved hjælp af seriel fejlfinding. CloudX IDE genererer 2 filtyper på en vellykket kompilering, HEX og COFF -fil. HEX -filen er strengt maskinkode, som er det, der er bootloadet ind i brættet til udførelse i den virkelige verden, men kan også køre på din pc -simuleringssoftware som Proteus Isis, mens COFF -filen er et læseligt format, der kan eksekveres på din pc -simuleringssoftware (Proteus Isis). I dette omfang vil vi overveje to grundlæggende typer fejlfinding på seriel protokol,

1. Soft Serial Debugging:

I denne metode udføres hver test og fejlfinding på pc'en gennem nogle nyttige programmer som Proteus ISIS. Fordi CloudX dybest set genererer COFF -fil, anbefaler jeg at bruge dette til pc -simulering, fordi du med det grundlæggende kan gå mellem koderækker og finde ud af, hvor et problem kommer fra, og hvis din kode skal køre uden at træde, ved hjælp af virtuel teminal fra den "virtuelle" instrument mode "-værktøj, kan du altid vide, hvor linjen er, controlleren kører på et givet tidspunkt. lad os se på dette kodeeksempel,

Trin 1:

Billede
Billede
Billede
Billede

/*

* Fil: newmain.c

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

#omfatte

#omfatte

/* vi vil lave

rød pin1 grøn pin2 gul pin3 *knap pin4 */ char *tell = "hmmm, jeg har været touch"; setup () {pinMode (1, OUTPUT); pinMode (2, OUTPUT); pinMode (3, OUTPUT); pinMode (4, INPUT); Serial_begin (9600); loop () {while (! readPin (4)); Serial_writeText (fortælle); Serial_writeText ("…. flyttes til rødt"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (1, HIGH); forsinkelser (200); // prøv at fjerne alle kommentarer, og se hvad der sker // erstat dem (du vil helt sikkert elske det!). mens (! readPin (4)); Serial_writeText (fortælle); Serial_writeText ("….flytter til grønt"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (2, HIGH); forsinkelser (200); // prøv at fjerne alle kommentarer, og se hvad der sker // udskift dem (du vil helt sikkert elske det!).

mens (! readPin (4));

Serial_writeText (fortælle); Serial_writeText ("….flytter til gul"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (3, HIGH); forsinkelser (200); // prøv at fjerne alle kommentarer, og se hvad der sker // udskift dem (du vil helt sikkert elske det!). }}

med dette kan du se, hvordan den serielle fejlfinding er vigtig, hvis du fjerner forsinkelsens. hvis du gjorde det, ville du have set, hvor besværlig den simple kode kan forårsage, hvis den udføres i den virkelige verden uden disse forsinkelser.

Trin 2:

Billede
Billede
Billede
Billede
Billede
Billede

2. Hardwarefejlfinding:

I denne metode udføres hver test og fejlretning ved at vedhæfte CloudX -prototypekortet til pc'en ved hjælp af softCard og gøre brug af enten CloudX IDEs serielle terminal (anbefales) eller anden nyttig software som Proteus ISIS -compim, realTerm osv. Generer COFF filen kan ikke bruges her, fordi denne metode kræver HEX -bootloading i hardwaren, jeg anbefaler at bruge dette til CloudX softcard. Bemærk, at din kode kører uden at træde, så du altid kan vide, hvor den linje er, controlleren kører på et givet tidspunkt ved det serielle output. lad os tage et kig på denne kode det samme eksempel, der er angivet ovenfor, opsæt din hardware, så den ligner min røde LED --------- til pin1 grøn LED --------- pin2 gul LED- ------- pin3 knap --------- pin4

Trin 3:

Billede
Billede

trin

1. Brug samme kode som ovenfor

2. bootload i dit bord

3. start CloudX seriel terminal ved at klikke på "seriel" -knappen i værktøjslinjen

4. vælg den ønskede port og baudrate (9600 i denne vejledning)

5. start terminalen ved at klikke på tilslut (afbryd forbindelsen, hvis du ønsker at afslutte)

6. med porten åbnet/tilsluttet, skal du kortvarigt trykke på knappen efter behag, og du vil se seriel output vist på terminalvinduerne. Bemærk, at hvis du har forsinkelser fra koden, får du flere linjer med seriel output til at køre så hurtigt uden kontrol, før du tager dine hænder af knappen. Hvis du af en eller anden grund i din kode har et sådant eller lignende problem, kan du altid bruge denne metode til at fejlsøge.

Anbefalede: