- Materiali richiesti
- Schema elettrico
- Caricamento del caricatore di avvio Maple sulla scheda di sviluppo STM32
- Preparazione dell'IDE di Arduino e installazione dei driver
- Programmazione STM32 (Blue Pill) direttamente tramite porta USB
La scheda di sviluppo STM32 che ospita il microcontrollore STM32F103C8 sta diventando sempre più popolare grazie alla sua architettura ARM Cortex M3, ha un'elevata velocità operativa e più opzioni periferiche. Inoltre, poiché questa scheda può essere facilmente programmata utilizzando l'IDE di Arduino, è diventata una scelta preferibile per molti hobbisti e ingegneri per la prototipazione rapida.
Nel nostro precedente tutorial abbiamo appreso le basi della scheda di sviluppo STM32 e l'abbiamo anche programmata per far lampeggiare un LED. Ma c'era un enorme svantaggio con esso. Per programmare la scheda abbiamo utilizzato un modulo programmatore FTDI e abbiamo anche dovuto commutare il jumper di avvio 0 tra e 1 posizione durante il caricamento e il test di un codice, il che è sicuramente un compito arduo. Anche la porta mini-USB sulla scheda di sviluppo è stata lasciata totalmente inutilizzata. La ragione per farlo è che quando la scheda di sviluppo STM32 viene acquistata non viene fornita con un boot loader pronto per Arduino e quindi la scheda non verrà rilevata dal computer quando è collegata tramite USB.
Si spera però che esista un boot loader sperimentale sviluppato da LeafLabs per le mini schede Maple. Questo boot loader può essere installato una volta nell'STM32 e successivamente possiamo utilizzare direttamente la porta USB della scheda STM32 per caricare i programmi proprio come qualsiasi altra scheda Arduino. Tuttavia, questo boot loader è ancora in fase di sviluppo al momento della documentazione di questo tutorial e non è consigliabile per applicazioni critiche. Prima di procedere con questo tutorial, assicurati di aver letto il tutorial precedente per comprendere le basi di questa scheda, inclusi i dettagli sulle specifiche e sui pin-out.
Materiali richiesti
- STM32 - Scheda di sviluppo (BluePill) (STM32F103C8)
- Programmatore FTDI
- Breadboard
- Cavi di collegamento
- Computer portatile con Internet
Schema elettrico
Per programmare la scheda STM32 Blue Pill direttamente tramite la porta USB, dobbiamo prima eseguire il flashing del boot loader Maple nell'MCU. Per fare questo abbiamo bisogno di utilizzare una scheda FTDI seriale. Questa scheda è collegata ai pin Rx e Tx dell'STM32 come mostrato di seguito.
Il pin Vcc della scheda FTDI è collegato al pin STM32 5V di alimentazione della scheda. La massa è collegata alla massa di STM32. I pin Rx e Tx della scheda FTDI sono collegati rispettivamente ai pin A9 e A10 dell'STM32. Dove A9 è il pin Tx dell'MCU STM32 e A10 è il pin Rx.
Assicurarsi che il pin del jumper boot 0 sulla scheda sia impostato su 1 (modalità di programmazione) durante il caricamento del boot loader. Una volta che il boot loader ha lampeggiato, questo pin può essere riportato alla posizione iniziale (modalità operativa).
Caricamento del caricatore di avvio Maple sulla scheda di sviluppo STM32
Dopo aver effettuato la connessione sopra, collega la scheda FTDI al tuo computer e segui i passaggi per eseguire il flashing del boot loader nell'STM32.
Passaggio 1: Dobbiamo scaricare i file binari del programma di boot loader (file bin) dalla pagina GitHub. Esistono molte versioni del file bin, per la scheda Blue Pill utilizzare questo collegamento GitHub e fare clic sul pulsante di download per scaricare il file bin.
Passaggio 2: Successivamente dobbiamo scaricare e installare il software STM Flash loader per eseguire il flashing del file bin scaricato in STM32. Fare clic su questo collegamento per accedere al sito Web di ST, scorrere fino in fondo e fare clic su Ottieni software
Passo 3: Per scaricare il software devi inserire il tuo indirizzo e-mail e il link per il download verrà inviato alla tua e-mail. Quindi seguire il collegamento al sito Web e fare nuovamente clic su Scarica software e il download inizierà. Sì, è un po 'frustrante, ma è così che dovrebbe essere fatto. Non dimenticare di controllare la tua cartella spam per la posta elettronica, a volte ci vogliono un paio di minuti prima che la posta arrivi.
Passaggio 4: una volta scaricato, installa il software, assicurati che la tua scheda STM32 sia collegata al computer tramite la scheda FTDI, quindi avvia il software. Il software rileverà automaticamente la porta COM se non utilizza Gestione dispositivi e si assicurerà di selezionare il numero di porta COM corretto. Nel mio caso è COM4. Lascia il resto dell'impostazione come mostrato di seguito.
Passaggio 5: fare clic due volte sul pulsante Avanti e il software rileverà nuovamente automaticamente i dettagli della scheda e visualizzerà come mostrato di seguito. La scheda che stiamo utilizzando è STM32F1 con 128K di memoria flash.
Passaggio 6: nel passaggio successivo, selezionare Scarica sul dispositivo e accedere alla posizione in cui abbiamo scaricato il nostro file bin nel passaggio 1 e selezionarlo. Fare clic su Avanti.
Passaggio 7: il software scaricherà alcuni file richiesti come mostrato di seguito e inizierà quindi il processo di flashing.
Passaggio 8: una volta completato correttamente il lampeggiamento, verrà visualizzata la schermata seguente. Fare clic su chiudi e uscire dall'applicazione. Abbiamo installato correttamente la scheda STM32 con il boot loader Arduino. Ora dobbiamo preparare l'IDE di Arduino e installare i driver prima di poter programmare la scheda STM32.
Preparazione dell'IDE di Arduino e installazione dei driver
Segui i passaggi seguenti per scaricare e preparare l'IDE di Arduino da utilizzare con la scheda di sviluppo STM 32.
Passaggio 1: - Se non hai ancora installato l'IDE di Arduino, scaricalo e installalo da questo link. Assicurati di selezionare il tuo sistema operativo corretto.
Passaggio 2: - Dopo aver installato l'IDE di Arduino, aprire e scaricare i pacchetti richiesti per la scheda STM32. Questo può essere fatto selezionando File -> Preferenze .
Passaggio 3: - Facendo clic su Preferenze si aprirà la finestra di dialogo mostrata di seguito. Nella casella di testo URL di Boards Manager aggiuntiva, incolla il link sottostante
dan.drown.org/stm32duino/package_STM32duino_index.json
e premere OK.
Passaggio 4: - Ora vai su Strumenti -> Schede -> Gestore schede . Questo aprirà la finestra di dialogo del gestore delle schede, cerca "STM32F1" e installa il pacchetto che appare.
Passaggio 5: dopo aver installato il pacchetto, vai a C: \ Programmi (x86) Arduino \ hardware \ Arduino_STM32-master \ drivers \ win dove troverai install_drivers.bat e install_STM_COM_drivers.bat .
Passaggio 6: fare clic su entrambi i file bat e installare i driver. Otterrai una schermata DOS come mostrato di seguito.
Ora l'IDE di Arduino è pronto per la programmazione della scheda di sviluppo STM32 (Blue Pill) e vengono installati anche i driver.
Programmazione STM32 (Blue Pill) direttamente tramite porta USB
Rimuovi la scheda FTDI e tutte le connessioni esistenti dal tuo STM32. Basta usare la porta micro-USB sulla scheda STM32 per collegarla al computer come mostrato di seguito. Assicurarsi che il pin del jumper 0 sia nuovamente posizionato su 0 (modalità operativa). D'ora in poi non sarà più necessario attivare il jumper per caricare ed eseguire i programmi.
Il tuo computer dovrebbe essere in grado di rilevare la scheda ora. Attendi qualche istante se vedi l'installazione di driver aggiuntivi. Quindi accedi a Gestione dispositivi e controlla se la tua scheda STM32 è stata rilevata nella sezione COM e porta come mostrato di seguito. Il mio è connesso alla COM8 con il nome Maple Mini.
Vai su Strumenti e scorri verso il basso per trovare la serie STM32F103C generica come mostrato di seguito. Quindi assicurati che la variante sia di tipo Flash 64k , la velocità della CPU sia 72MHz e cambia il metodo di caricamento in STM32duino Bootloader . Seleziona anche la porta COM corretta in base a quella sul tuo gestore dispositivi.
Dopo aver apportato tutte le modifiche, controlla l'angolo in basso a destra dell'IDE di Arduino e dovresti notare l'impostazione seguente. La mia scheda STM32 è collegata a COM8 ma la tua potrebbe essere diversa
Ora l'IDE di Arduino è pronto per programmare le schede di sviluppo Blue Pill STM 32. Carichiamo il programma Blink di esempio dall'IDE di Arduino alla scheda STM32 Blue Pill per assicurarci che tutto funzioni correttamente. Il programma di esempio può essere trovato su
Nel programma di esempio che si apre, dobbiamo fare una piccola modifica. Di default il programma verrà scritto per PB1 ma sulla nostra scheda il led di bordo è collegato al PC13 quindi sostituite tutti i PB1 con PC13 e siamo a posto per procedere. Il programma di esempio completo che viene modificato può essere trovato anche in fondo a questa pagina.
Il codice all'interno della sola funzione loop è mostrato di seguito, dove possiamo notare che il pin PC13 viene mantenuto ALTO (acceso) per 1000 millisecondi e quindi spento BASSO (spento) per altri 1000 millisecondi e questo viene fatto per infinite volte poiché è in funzione loop . Quindi il LED sembra lampeggiare con un intervallo di 1000 millisecondi.
digitalWrite (PC13, HIGH); // accende il LED (HIGH è il livello di tensione) delay (1000); // aspetta un secondo digitalWrite (PC13, LOW); // spegne il LED impostando il ritardo a bassa tensione (1000); // aspetta un secondo
Premi il pulsante di caricamento sull'IDE di Arduino e il tuo programma dovrebbe essere compilato e caricato. Se tutto ha funzionato come previsto, dovresti vedere quanto segue sulla tua console IDE Arduino.
Se il programma è stato caricato correttamente, dovresti vedere il LED verde lampeggiare a intervalli di 1 secondo come mostrato nel video qui sotto. Puoi anche giocherellare con il programma per aumentare o diminuire il ritardo. Ora puoi iniziare a utilizzare la scheda di sviluppo STM32 (Blue Pill) come qualsiasi altra scheda Arduino, ovvero non è più necessario modificare la posizione dei jumper o utilizzare hardware esterno per caricare e testare i programmi.
Spero che tu abbia capito il tutorial e che sia stato utile per iniziare con la scheda STM32. Se hai qualche problema lasciali nella sezione commenti, dimmi anche quali progetti dovremmo provare con questa scheda STM32 in futuro.