Condivisione della tecnologia

04introduzione OLED e metodi di debug

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Modalità di debug

Inserisci qui la descrizione dell'immagine
Il computer può stampare qualsiasi variabile che vuole vedere direttamente sullo schermo, ma i computer a chip singolo spesso non hanno una valutazione forte a causa delle limitazioni nei costi e nella struttura del circuito.
Proprio come quando si impara il linguaggio C, non c'è modo di imparare senza la funzione printf. Quindi hai bisogno di uno strumento di debug.

Debug seriale

Il debug della porta seriale è molto comune. Utilizzare una porta seriale per collegare un microcontrollore a un computer equivale ad appendere lo schermo del computer al microcontrollore, il che facilita la visualizzazione delle informazioni di debug da parte del microcontrollore. Durante la progettazione del PCB, sarà presente un pin di comunicazione seriale per il debug del programma (il vantaggio è che può Con l'aiuto di un potente computer per il debug, il software sul computer può non solo visualizzare parametri individuali, ma anche curve, grafici, immagini, ecc. Puoi anche creare il tuo software per ottenere potenti funzioni di interazione con l'utente) (Lo svantaggio è che è necessario trascinare il computer e il solito assistente della porta seriale può presentare i dati solo sotto forma di flusso di informazioni, ovvero può solo stampare riga per riga. Se c'è molti dati che cambiano devono essere visualizzati, quindi possono essere visualizzati solo sul computer scorrendo lo schermo)

Visualizza il debug

Il vantaggio del debug del display è che i dati modificati possono essere sovrascritti e aggiornati e il display può sempre essere collegato al microcontrollore. Il metodo di visualizzazione è molto diretto Quando si fa qualcosa di leggermente complicato, è necessaria un'interfaccia di interazione uomo-computer che è più semplice utilizzare il display come parte del prodotto (lo svantaggio è che lo schermo è troppo piccolo e il contenuto visualizzato è limitato)
La schermata può essere utilizzata per il debug e la funzione del driver verrà discussa in seguito.Per prima cosa tratta l'OLED come un modulo di debug del programma

Altri metodi di debug

Esiste anche un metodo di debug dell'illuminazione Se non sai dove viene eseguito il programma, puoi inserire un codice di illuminazione in quella posizione.
Metodo di debug dei commenti, se il programma era originariamente valido, ma è morto dopo aver aggiunto un determinato programma, è possibile rimuovere tutti i commenti appena aggiunti, ripristinarlo al normale stato di esecuzione e quindi rimuovere il commento riga per riga finché non viene visualizzato l'errore o commentarne uno parte per testare un'altra parte, ridurre la parte del programma in esecuzione e individuare il programma problematico.
Utilizzare il metodo di confronto per trovare un programma che non presenta problemi e sostituire gradualmente la logica del programma con la logica del programma.

Riassumere:

Idee di base sulle procedure di test: restringimento dell'ambito, controllo delle variabili, test comparativi, ecc.

OLED

introduzione

Inserisci qui la descrizione dell'immagine
Ogni pixel dell'OLED è un diodo emettitore di luce separato, mentre l'LCD richiede una retroilluminazione, quindi è relativamente a risparmio energetico.
La velocità di risposta rapida consente all'OLED di avere una frequenza di aggiornamento più elevata
La tempistica rapida del bus può anche evitare il blocco dei programmi
Ampio angolo di visione: poiché l'OLED è autoluminoso, il contenuto del display è chiaro da qualsiasi angolazione.

Il pilotaggio di questo semplice OLED richiede solo pochi cavi e richiede relativamente poche risorse.

I colori dei pixel sono: bianco, blu, giallo e blu (1/4 è giallo, 3/4 è blu, non è un vero e proprio bicolore, ma fissato in zone diverse, adatto per realizzare un'interfaccia che deve visualizzare un riga del titolo)

Circuito hardware

Inserisci qui la descrizione dell'immagine
Il pin 4 utilizza generalmente il protocollo IIC e il pin 7 utilizza generalmente il protocollo SPI.

Funzione driver OLED

Inserisci qui la descrizione dell'immagine
Se i pin STM32 non sono inizializzati, passano automaticamente alla modalità di ingresso mobile.

Per utilizzare questo modulo OLED è necessario cambiare solo i pin, così come le periferiche e gli orologi che utilizzano i pin. Il resto delle funzioni sono incluse.
Inserisci qui la descrizione dell'immagine

Il file OLED_FONT.h memorizza i dati dei caratteri di OLED Poiché lo schermo del display OLED non ha un carattere, quindi se si desidera visualizzare la grafica dei caratteri, è necessario prima definire i dati della matrice di punti dei caratteri, quindi questo memorizza la matrice di punti. dei caratteri.
Il linguaggio C non può scrivere numeri binari e può invece utilizzare solo esadecimali. Il linguaggio C, come linguaggio di programmazione per computer di basso livello, non supporta la scrittura di numeri binari. Inoltre, il linguaggio C deve essere tradotto in linguaggio assembly, ma l'assembly supporta la scrittura binaria. accedere. Ma questa potrebbe essere la regola.

modalità di debug keil

Metodo di immissione

Inserisci qui la descrizione dell'immagine
L'opzione del progetto Debug può configurare le opzioni di debug. La selezione predefinita è quella a destra per la simulazione online sull'hardware che deve essere collegato al microcontrollore.
Quello a sinistra utilizza un emulatore, in modo che il computer simuli il funzionamento del microcontrollore.
Prima della simulazione assicurati che non ci siano problemi con la compilazione del progetto (se ci sono problemi risolvili prima)

Fare clic su "d rossa" per accedere alla modalità di debug. Se STLINK non è connesso, verrà segnalato un errore.
Inserisci qui la descrizione dell'immagine

finestra dell'interfaccia di debug keil

Inserisci qui la descrizione dell'immagine
Se si utilizza la programmazione in assembly per programmare il gruppo di registri e i flag di stato, è necessario comprenderli molto chiaramente.
Se usi il linguaggio C, non devi preoccuparti di questi.

Inserisci qui la descrizione dell'immagine

Descrizione semplice delle funzioni

Questa parte è il controllo dell'esecuzione del programma
1. Reset 2. Esegui a piena velocità 3. Interrompi la corsa a piena velocità 4. Operazione a passo singolo 5. Salta la riga corrente ed esegui il passo singolo 6. Salta fuori dalla funzione corrente ed esegui il passo singolo 7. Passa alla riga specificata dal cursore ed eseguire un singolo passaggio

Inserisci qui la descrizione dell'immagine
La freccia gialla indica la riga successiva di codice da eseguire e la freccia blu indica la riga su cui si trova il cursore.
Inserisci qui la descrizione dell'immagine
Fare clic sull'area grigio scuro a sinistra per impostare un punto di interruzione. Fare clic su Esegui a piena velocità e il programma continuerà a funzionare fino all'arresto del punto di interruzione. Se non è presente alcun punto di interruzione, quindi eseguito a piena velocità, il programma non si arresterà automaticamente. ed è necessario fare clic sul pulsante Interrompi, il programma si arresterà.

Inserisci qui la descrizione dell'immagine
Fare clic su RST per ripristinare e il programma tornerà all'inizio. Puoi vedere che il programma è nella funzione di interruzione di ripristino, indicando che il programma inizia l'esecuzione da qui dopo il ripristino.

Innanzitutto, il programma passerà alla funzione SystemInit, quindi la funzione verrà eseguita alla funzione principale.

Questo approccio ci consente di monitorare esattamente come viene eseguito il nostro programma. È possibile esplorare come viene eseguita la funzione passo dopo passo in questa modalità. In questo modo la comprensione logica del programma risulterà più profonda.

Questa è una funzione semplice in modalità debug. Esistono funzioni più potenti in modalità debug.

Funzioni più potenti

Inserisci qui la descrizione dell'immagine
La prima è la finestra di comando, che può essere aperta e chiusa
Inserisci qui la descrizione dell'immagine
Seconda finestra di smontaggio
La terza finestra dei simboli permette di visualizzare in tempo reale i valori di tutte le variabili presenti nel programma
Inserisci qui la descrizione dell'immagine
Inserisci qui la descrizione dell'immagine
Se vuoi vedere le modifiche nel valore della struttura, puoi fare clic con il pulsante destro del mouse e aggiungerlo alla finestra Watch1.
Inserisci qui la descrizione dell'immagine
Fai clic su un singolo passaggio per eseguire e puoi vedere le modifiche nei valori delle variabili, il che è molto conveniente.

C'è anche un display della porta seriale
Inserisci qui la descrizione dell'immagine
analizzatore logico
Inserisci qui la descrizione dell'immagine
Aspetta, puoi prenderti il ​​tempo per saperne di più tu stesso

È inoltre possibile fare clic sul menu delle periferiche e visualizzare le risorse di sistema per vedere tutti i registri delle periferiche.
Inserisci qui la descrizione dell'immagine
Ad esempio, se si seleziona GPIOA, verranno visualizzati sulla destra tutti i registri delle periferiche GPIOA.
Inserisci qui la descrizione dell'immagine

Durante il debug, STM32 esegue anche il programma in tempo reale Quando il punto di simulazione viene interrotto, anche il programma stm32 smette di funzionare. Se si fa nuovamente clic su Esegui, stm32 continuerà ad essere eseguito Sebbene ci sarà un certo ritardo nelle modifiche in tempo reale. la funzione di debug online è ancora molto potente. Il programma stm32 viene eseguito in tempo reale, il software keil visualizza lo stato del registro della periferica in tempo reale. È inoltre possibile controllare l'avvio, l'arresto e il funzionamento a passaggio singolo del programma in qualsiasi momento. Quando incontri un programma difficile da regolare, ad esempio, non sai come viene eseguito il programma, oppure vuoi vedere molte variabili ma è scomodo visualizzarle, oppure vuoi vedere se il registro i valori sono configurati correttamente, puoi utilizzare keil per eseguire automaticamente la modalità debug. Se si modifica il programma, non è possibile modificarlo direttamente in modalità debug. Per modificare il programma, è necessario prima uscire dalla modalità debug, ricompilare e quindi accedere alla modalità debug.

Altre funzioni di keil attendono ulteriori esplorazioni.
Inserisci qui la descrizione dell'immagine
Aiuto apre il documento di aiuto ufficiale, che ha l'introduzione più autorevole e dettagliata e ha più tecnologie nere su come utilizzare keil.