Indholdsfortegnelse:
Video: Seriel fejlfinding med CloudX: 3 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
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:
/*
* 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:
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:
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:
Tilfældige DC Motor PWM -eksperimenter + Encoder Fejlfinding: 4 trin
Tilfældige DC Motor PWM -eksperimenter + Encoder Fejlfinding: Der er ofte tidspunkter, hvor en persons skrald er en andens skat, og dette var et af de øjeblikke for mig. Hvis du har fulgt mig, ved du sikkert, at jeg tog et kæmpe projekt med at lave min egen 3D -printer CNC ud af skrot. De stykker var
Sådan bruges en fejlfinding på en ESP32: 11 trin (med billeder)
Sådan bruges en fejlfinding på en ESP32: Har du nogensinde ønsket at kigge inde i din kode for at se, hvorfor den opfører sig, som den er? Traditionelt set i ESP32 -projekter ville du have været nødt til at tilføje en endeløs udskrivningserklæring for at prøve at finde ud af, hvad der foregik, men der er en bedre måde! En debugger
Harddiske: Diagnosticering, fejlfinding og vedligeholdelse: 3 trin
Harddiske: Diagnosticering, fejlfinding og vedligeholdelse: Hvad er en harddisk?- Kort sagt, det er harddisken, der gemmer alle dine data. Det huser harddisken, hvor alle dine filer og mapper er fysisk placeret. Oplysningerne gemmes magnetisk på disken, så de forbliver på drevet, selv når
DIY Oscilloskop Kit - Vejledning til samling og fejlfinding: 10 trin (med billeder)
DIY Oscilloscope Kit - Montering og fejlfinding Guide: Jeg har meget ofte brug for, når jeg designer en elektronisk gadget et oscilloskop for at observere tilstedeværelsen og formen af de elektriske signaler. Indtil nu har jeg brugt et gammelt sovjetisk (år 1988) enkeltkanals analogt CRT -oscilloskop. Det er stadig funktionelt
RAM -teknologier og fejlfinding: 6 trin
RAM -teknologier og fejlfinding: Random access memory (RAM) er en form for meget hurtig hukommelse, der bruges af computere til hurtigt at få adgang til oplysninger. RAM er meget hurtigere end harddiske eller solid state -drev, men det er meget dyrere, og det kan ikke gemme data uden konstant strøm. Som du