Sommario:

Debug seriale con CloudX: 3 passaggi
Debug seriale con CloudX: 3 passaggi

Video: Debug seriale con CloudX: 3 passaggi

Video: Debug seriale con CloudX: 3 passaggi
Video: Красивая история о настоящей любви! Мелодрама НЕЛЮБОВЬ (Домашний). 2024, Giugno
Anonim
Debug seriale con CloudX
Debug seriale con CloudX

In questo progetto, miro a spiegare il concetto di debug tramite il terminale seriale. Ma prima, per cominciare, spieghiamo il suo concetto attraverso i suoi significati.

1. comunicazione seriale

la comunicazione seriale è per la comunicazione tra la scheda CloudX e un computer o altri dispositivi. Tutte le schede CloudX hanno almeno una porta seriale visibile (nota anche come UART o USART): Seriale. Comunica su pin digitale RX e TX con altri hardware o moduli di comunicazione seriale (come gsm e gps) come con il computer tramite USB utilizzando la SoftCard. Pertanto, se si utilizzano queste funzioni, non è possibile utilizzare anche TX e RX per l'ingresso o l'uscita digitale. Puoi utilizzare il monitor seriale integrato nell'ambiente CloudX per comunicare con una scheda CloudX. Fare clic sul pulsante del monitor seriale nella barra degli strumenti e selezionare la stessa velocità di trasmissione utilizzata nel parametro chiamato serialBegin().

2. Debug

Debug significa semplicemente identificare e rimuovere gli errori da (hardware o software del computer). Il debug comporta l'individuazione e la correzione degli errori di codice in un programma per computer. Il debug fa parte del processo di test del software ed è parte integrante dell'intero ciclo di vita dello sviluppo del software. Prendiamo ad esempio che il tuo codice è stato compilato con successo e stai testando il tuo hardware e non funziona come previsto, sebbene ci siano molti modi per eseguire il debug del tuo codice; un modo semplice ed efficace per eseguire il debug è attraverso l'uso del debug seriale. L'IDE CloudX genera 2 tipi di file in caso di compilazione riuscita, file HEX e COFF. Il file HEX è rigorosamente un codice macchina che è ciò che viene caricato nella scheda per l'esecuzione nel mondo reale, ma può anche essere eseguito su software di simulazione per PC come Proteus Isis mentre il file COFF è un formato leggibile eseguibile sui software di simulazione per PC (Proteus Isis). Per questo scopo prenderemo in considerazione due tipi fondamentali di debug su protocollo seriale,

1. Debug seriale morbido:

In questo metodo, ogni test e debug viene eseguito sul PC tramite alcuni software utili come Proteus ISIS. Poiché CloudX fondamentalmente genera un file COFF, consiglio di utilizzarlo per la simulazione del PC perché con esso puoi praticamente passare da una riga di codice all'altra e capire da dove proviene un problema, e se il tuo codice deve essere eseguito senza fare un passo, usando il terminale virtuale dal "virtuale" strumento "modalità strumento", puoi sempre sapere dove è in esecuzione il controller in un dato momento. diamo un'occhiata a questo esempio di codice,

Passo 1:

Immagine
Immagine
Immagine
Immagine

/*

* File: newmain.c

* Autore: OGBOYE GODWIN * * Creato il 28 giugno 2018, 10:15 */

#includere

#includere

/* noi faremo

pin1 rosso pin2 verde pin3 giallo * pulsante pin4 */ char *tell= "hmmm, sono stato touch"; setup(){ pinMode(1, OUTPUT); pinMode(2, USCITA); pinMode(3, USCITA); pinMode(4, INGRESSO); Serial_begin(9600); loop(){ while(!readPin(4)); Serial_writeText(tell); Serial_writeText("….trasferimento in rosso"); Serial_write(0x0D); portWrite(1, 0x00); pinSelect(1, ALTO); ritardi(200); // prova a rimuovere i commenti da tutti i ritardi e guarda cosa succede // quindi sostituiscili (ti piacerà sicuramente!). while(!readPin(4)); Serial_writeText(tell); Serial_writeText("….in passaggio al verde"); Serial_write(0x0D); portWrite(1, 0x00); pinSelect(2, ALTO); ritardi(200); // prova a rimuovere i commenti da tutti i ritardi e guarda cosa succede // quindi sostituiscili (ti piacerà sicuramente!).

while(!readPin(4));

Serial_writeText(tell); Serial_writeText("….in passaggio al giallo"); Serial_write(0x0D); portWrite(1, 0x00); pinSelect(3, ALTO); ritardi(200); // prova a rimuovere i commenti da tutti i ritardi e guarda cosa succede // quindi sostituiscili (ti piacerà sicuramente!). } }

con questo puoi vedere come il debug seriale è importante se rimuovi i ritardi. se lo avessi fatto, avresti visto quanto fastidioso può causare quel semplice codice se viene eseguito nel mondo reale senza quei ritardi.

Passo 2:

Immagine
Immagine
Immagine
Immagine
Immagine
Immagine

2. Debug hardware:

In questo metodo, ogni test e debug viene eseguito collegando la scheda prototipo CloudX al PC utilizzando la softCard e utilizzando il terminale seriale di CloudX IDE (consigliato) o altri software utili come Proteus ISIS compim, realTerm, ecc. Genera COFF il file non può essere utilizzato qui perché questo metodo richiede il bootload di HEX nell'hardware, consiglio di utilizzarlo per la softcard CloudX. Nota che il tuo codice viene eseguito senza eseguire passaggi in modo da poter sempre sapere dove è in esecuzione il controller in un dato momento dall'output seriale. diamo un'occhiata a questo codice lo stesso esempio elencato sopra, imposta il tuo hardware in modo che sia simile al mio LED rosso --------- al LED verde pin1 --------- LED giallo pin2 -- ------- pulsante pin3 --------- pin4

Passaggio 3:

Immagine
Immagine

passi

1. Usa lo stesso codice di cui sopra

2. bootload nella tua scheda

3. avviare il terminale seriale CloudX facendo clic sul pulsante "seriale" nella barra degli strumenti

4. selezionare la porta e la velocità di trasmissione desiderate (9600 in questo tutorial)

5.avviare il terminale cliccando su Connetti (disconnetti se vuoi uscire)

6. con la porta aperta/collegata, premere momentaneamente il pulsante a piacimento e nelle finestre del terminale comparirà l'uscita seriale. Nota che se hai i ritardi fuori dal codice, otterrai più linee di output seriale in esecuzione così velocemente senza controllo prima di togliere le mani dal pulsante. Se per qualsiasi motivo nel tuo codice, hai un problema simile o simile, puoi sempre utilizzare questo metodo per eseguire il debug.

Consigliato: