Taula de continguts:

Depuració en sèrie amb CloudX: 3 passos
Depuració en sèrie amb CloudX: 3 passos

Vídeo: Depuració en sèrie amb CloudX: 3 passos

Vídeo: Depuració en sèrie amb CloudX: 3 passos
Vídeo: [GMV/AMV] Crisis Core: Final Fantasy VII | Alive 2024, Juny
Anonim
Depuració en sèrie amb CloudX
Depuració en sèrie amb CloudX

En aquest projecte, tinc com a objectiu explicar el concepte de depuració a través del terminal sèrie. Però primer com a iniciador, permet explicar el seu concepte a través dels seus significats.

1. comunicació en sèrie

la comunicació en sèrie és per a la comunicació entre la placa CloudX i un ordinador o altres dispositius. Totes les plaques CloudX tenen almenys un port sèrie vist (també conegut com a UART o USART): sèrie. Es comunica en pin digital RX i TX amb altres programes durs o mòduls de comunicació en sèrie (com gsm i gps) com amb l’ordinador mitjançant USB mitjançant la SoftCard. Per tant, si utilitzeu aquestes funcions, no podreu utilitzar TX i RX per a l'entrada o sortida digital. Podeu utilitzar el monitor sèrie integrat de l’entorn CloudX per comunicar-vos amb una placa CloudX. Feu clic al botó del monitor sèrie a la barra d'eines i seleccioneu la mateixa velocitat en bauds que s'utilitza al paràmetre anomenat a serialBegin ().

2. Depurar

La depuració significa simplement identificar i eliminar els errors (maquinari o programari de l’ordinador). La depuració implica localitzar i corregir errors de codi en un programa d’ordinador. La depuració forma part del procés de proves de programari i forma part integral de tot el cicle de vida del desenvolupament de programari. Posem per exemple que el vostre codi s'ha compilat correctament i que esteu provant el maquinari i que no funciona com s'esperava, tot i que hi ha moltes maneres de depurar-lo; una manera senzilla i eficaç de depurar-lo és mitjançant la depuració en sèrie. El CloudX IDE genera dos tipus de fitxers en la compilació amb èxit, fitxers HEX i COFF. El fitxer HEX és estrictament un codi de màquina que és el que es carrega a la placa per executar-se en el món real, però també pot executar-se en programes de simulació de PC com Proteus Isis, mentre que el fitxer COFF és un format llegible executable en programes de simulació de PC (Proteus Isis). Per a aquest abast, considerarem dos tipus bàsics de depuració del protocol sèrie,

1. Depuració en sèrie suau:

En aquest mètode, totes les proves i depuracions es fan a l'ordinador mitjançant un programari útil com Proteus ISIS. Com que el CloudX bàsicament genera fitxers COFF, us recomano utilitzar-lo per a la simulació de PC, ja que bàsicament podeu passar entre línies de codis i esbrinar d’on prové un problema i, si el vostre codi ha d’executar-se sense trepitjar, utilitzeu el teminal virtual de eina "mode d'instrument", sempre podeu saber a quina línia s'executa el controlador en cada moment. fem una ullada a aquest exemple de codi,

Pas 1:

Imatge
Imatge
Imatge
Imatge

/*

* Fitxer: newmain.c

* Autor: OGBOYE GODWIN * * Creat el 28 de juny de 2018, a les 10:15 hores * /

#incloure

#incloure

/ * farem

vermell pin1 verd pin2 groc pin3 * botó pin4 * / char * tell = "hmmm, he estat tàctil"; setup () {pinMode (1, OUTPUT); pinMode (2, OUTPUT); pinMode (3, OUTPUT); pinMode (4, INPUT); Serial_begin (9600); loop () {while (! readPin (4)); Serial_writeText (tell); Serial_writeText ("…. Passant al vermell"); Escriptura_serial (0x0D); portWrite (1, 0x00); pinSelect (1, HIGH); delayms (200); // intenteu eliminar qualsevol comentari de retard i vegeu què passa // i després substituïu-los (segur que us encantarà!). mentre (! readPin (4)); Serial_writeText (tell); Serial_writeText ("…. Passant al verd"); Escriptura_serial (0x0D); portWrite (1, 0x00); pinSelect (2, HIGH); delayms (200); // intenteu eliminar qualsevol comentari de retard i vegeu què passa // i després substituïu-los (segur que us encantarà!).

mentre (! readPin (4));

Text_escriptura_serial (dir); Serial_writeText ("…. Passant al groc"); Escriptura_serial (0x0D); portWrite (1, 0x00); pinSelect (3, HIGH); delayms (200); // intenteu eliminar qualsevol comentari de retard i vegeu què passa // i després substituïu-los (segur que us encantarà!). }}

amb això podeu veure com és important la depuració en sèrie si elimineu el retard. si ho féssiu, hauríeu vist el problema que pot causar aquest simple codi si s'executa al món real sense aquests retards.

Pas 2:

Imatge
Imatge
Imatge
Imatge
Imatge
Imatge

2. Depuració de maquinari:

En aquest mètode, totes les proves i depuracions es realitzen connectant el prototip de placa CloudX al PC mitjançant la softCard i fent ús del terminal serial de CloudX IDE (recomanat) o d’altres programes útils com Proteus ISIS compim, realTerm, etc. Generar COFF aquí no es pot utilitzar el fitxer perquè aquest mètode requereix una càrrega d'arrencada HEX al maquinari, us recomano utilitzar-la per a la targeta programable CloudX. Tingueu en compte que el vostre codi s’executa sense trepitjar, de manera que sempre podeu saber quina línia s’executa el controlador en un moment donat per la sortida sèrie. fem una ullada a aquest codi, el mateix exemple que es mostra a la llista anterior, configureu el maquinari perquè sigui semblant al meu LED vermell --------- a pin1 LED verd --------- pin2 LED groc - ------- botó pin3 --------- pin4

Pas 3:

Imatge
Imatge

passos

1. Utilitzeu el mateix codi que l'anterior

2. carregueu a la vostra placa

3. Inicieu el terminal sèrie CloudX fent clic al botó "sèrie" a la barra d'eines

4. seleccioneu el port i la velocitat de transmissió desitjats (9600 en aquest tutorial)

5. Inicieu el terminal fent clic a connectar (desconnecteu si voleu sortir)

6. amb el port obert / connectat, premeu momentàniament el botó a voluntat i veureu la sortida sèrie que es mostra a les finestres del terminal. Tingueu en compte que si teniu els retards fora del codi, obtindreu diverses línies de sortida sèrie que funcionen tan ràpidament sense control abans de treure les mans del botó. Si per algun motiu del vostre codi, teniu un problema similar o similar, sempre podeu utilitzar aquest mètode per depurar.

Recomanat: