- Configurazione dell'IDE di Arduino
- Configurazione della scheda STM8S103F3 per la programmazione IDE di Arduino
- LED lampeggiante su STM8S103F3 utilizzando Arduino
- Mappatura dei pin di Arduino per STM8S103F3
- Compilazione di librerie SPL su Arduino IDE
Arduino è indubbiamente diventato uno strumento di prototipazione facile e veloce, grazie alla sua community di utenti di supporto. Oggi, a causa della sua natura open source, la piattaforma non è limitata solo alle schede Arduino ma anche ad altre schede di sviluppo come NodeMCU, ESP8266, STM32, MSP430, ecc. Possono essere programmate dall'IDE di Arduino. Se sei interessato a sapere come, puoi seguire i link sottostanti.
- Programmazione NodeMCU con Arduino IDE
- Programmazione di ESP8266 con Arduino IDE
- Programmazione STM32 con Arduino IDE
- Programmazione di MSP430 con Energeia (simile ad Arduino)
Senza dubbio, l'IDE di Arduino è ottimo per i principianti, ma comunque, per lo sviluppo professionale, è utile lavorare con ambienti di sviluppo e compilatori nativi. Come MPLABX per microcontrollori PIC e studio Code Composer per microcontrollori TI. L'utilizzo della piattaforma nativa ci consente di lavorare a livello di registro (anche a livello di assembly se necessario) consentendo al programma di essere più efficiente in termini di memoria. Questo è il motivo per cui quando abbiamo avviato il tutorial sul microcontrollore STM8Sserie, la scelta della piattaforma è stata STVD e il compilatore Cosmic C, entrambi scaricabili e utilizzabili gratuitamente. Purtroppo però, lo STVD è un IDE molto vecchio e sembra degli anni '90 mentre ci si lavora. Inoltre, anche lo strumento di programmazione STVP non è ben integrato con IDE e devi usarlo separatamente. Ciò aumenta il tempo di compilazione e caricamento e rende lo sviluppo e il debug un problema.
Sono andato alla ricerca di alternative ed è allora che l'IDE di Arduino è venuto in soccorso. Uno strumento chiamato Sduino di Michael Mayor ci consente di programmare facilmente i microcontrollori STM8 (la maggior parte di quelli popolari) direttamente dall'IDE di Arduino e ci vogliono solo pochi minuti per configurarlo e iniziare. Ciò che è più interessante è che oltre a supportare la programmazione in stile Arduino, Sduino ci consente anche di utilizzare la Standard Peripheral Library (SPL), in altre parole, possiamo quasi compilare lo stesso programma su STVD nell'IDE di Arduino. Sebbene Sduino sia uno strumento interessante, è ancora in fase di sviluppo e deve ancora supportare molte delle librerie e delle funzioni di Arduino. Detto questo, impariamo come utilizzare l' IDE di Arduino con la scheda di sviluppo STM8S103F.Se sei completamente nuovo in questa scheda, controlla l'inizio del tutorial STM8S103F. Oltre a STM8S103F, Sduino supporta anche altri microcontrollori STM8S come STM8S003, STM8S105C, STM8S105K, STM8S, STM8S208MB, ESP14, ecc. La procedura spiegata in questo tutorial è la stessa per tutti.
Configurazione dell'IDE di Arduino
Passaggio 1: se sei completamente nuovo nell'ambiente Arduino, scarica Arduino in base al tuo sistema operativo e installalo.
Passaggio 2: seguire File -> Preferenze per aprire la finestra delle preferenze e incollare il collegamento fornito di seguito nella casella di testo URL gestione schede aggiuntive e fare clic su OK.
github.com/tenbaht/sduino/raw/master/package_sduino_stm8_index.json
Passaggio 3: seguire Strumenti -> Scheda -> Gestore scheda per aprire la finestra di dialogo Gestione scheda e cercare "sduino". Fare clic su Installa e chiudere la finestra di dialogo al termine dell'installazione.
Passaggio 4: riavvia l'IDE, quindi segui Strumenti -> Scheda -> STM8S103F3 . Puoi selezionare altre schede se hai una scheda di sviluppo diversa.
Ora l'IDE di Arduino è pronto per programmare la scheda di sviluppo STM8S103F3. Configuriamo la scheda, collegiamola al computer e programmiamo per un semplice lampeggio del LED.
Configurazione della scheda STM8S103F3 per la programmazione IDE di Arduino
Collegare l'ST-Link V2 alla scheda di sviluppo come mostrato di seguito.
Le connessioni sono piuttosto semplici e la parte migliore è che non hai bisogno di componenti esterni. La mia configurazione hardware per la programmazione è mostrata di seguito, ho appena usato i cavi di intestazione femmina per effettuare la connessione. Tuttavia, tieni presente che il pinout del tuo ST-Link potrebbe differire dal mio, assicurati di seguire il pinout sul dispositivo prima di effettuare i collegamenti.
Effettua la connessione e collega il dispositivo al tuo computer, l'installazione del driver dovrebbe iniziare automaticamente. È possibile utilizzare Gestione dispositivi per assicurarsi che il computer abbia rilevato correttamente ST-LINK V2. Noterai anche che il LED di test sulla scheda lampeggia se è la prima volta che la scheda viene alimentata.
LED lampeggiante su STM8S103F3 utilizzando Arduino
Ora per un semplice lampeggio del LED, possiamo usare il programma blink dalla sezione di esempio. Segui File -> Esempio -> Generic_Example -> Basics -> Blink .
Di seguito è riportato il programma completo per il lampeggio del led di bordo:
void setup () {// inizializza il pin digitale LED_BUILTIN come uscita. pinMode (LED_BUILTIN, OUTPUT); } // la funzione loop viene eseguita più e più volte per sempre void loop () {digitalWrite (LED_BUILTIN, HIGH); // accende il LED (HIGH è il livello di tensione) delay (1000); // aspetta un secondo digitalWrite (LED_BUILTIN, LOW); // spegne il LED impostando il ritardo di tensione LOW (1000); // aspetta un secondo}
Come puoi vedere, questo è molto simile al programma blink di Arduino. Per caricare il programma, assicurati che la tua scheda sia collegata tramite st-link v2 come discusso sopra e seleziona il programmatore come "ST-Link / V2" come mostrato di seguito.
Nota: a differenza delle schede Arduino, non è necessario selezionare la porta COM corretta per programmare la scheda. Utilizzerai la porta COM solo per la comunicazione seriale.
Una volta selezionata la porta COM, anche il caricamento del codice è molto semplice. Basta premere il pulsante di caricamento (cerchiato in rosso sotto) e il codice verrà compilato e caricato automaticamente sulla nostra scheda.
Cioè, il programma viene caricato direttamente sulla scheda e dovresti vedere il LED di bordo lampeggiare. Nessun software di caricamento esterno, niente di niente. Così facile. Puoi controllare il video in fondo a questa pagina per il lavoro.
Mappatura dei pin di Arduino per STM8S103F3
Se vuoi procedere da qui, devi sapere come indirizzare ogni pin sulla scheda di sviluppo STM8S103F3. La mappatura dei pin può essere compresa da questa immagine sotto-
Ad esempio dallo schema elettrico della scheda STM8S103F3, sappiamo che il LED di bordo è collegato a PB5. Per indirizzare questo pin su Arduino, dobbiamo usare 3, quindi il programma può essere scritto come-
void setup () {// inizializza il pin digitale LED_BUILTIN come uscita. pinMode (3, OUTPUT); } // la funzione loop viene eseguita più e più volte per sempre void loop () {digitalWrite (3, LOW); // accende il LED (HIGH è il livello di tensione) delay (1000); // aspetta un secondo digitalWrite (3, HIGH); // spegne il LED impostando il ritardo di tensione LOW (1000); // aspetta un secondo}
Compilazione di librerie SPL su Arduino IDE
Come accennato in precedenza, possiamo anche utilizzare la libreria SPL su Arduino IDE. Se ricordi, nel nostro precedente tutorial STM8S GPIO, abbiamo scritto un codice per far lampeggiare il LED di bordo e anche un LED esterno utilizzando il pulsante. Lo stesso codice con pochissime modifiche può essere compilato anche su Arduino. Il codice modificato è mostrato di seguito.
#define Green_LED GPIOA, GPIO_PIN_3 void setup () {GPIO_DeInit (GPIOA); // prepara la porta A per lavorare con GPIO_DeInit (GPIOB); // prepara la porta B per funzionare // Dichiara PA2 come pin di pull up di input GPIO_Init (GPIOA, GPIO_PIN_2, GPIO_MODE_IN_PU_IT); // Dichiara PA3 come pin di uscita push-pull GPIO_Init (Green_LED, GPIO_MODE_OUT_PP_LOW_SLOW); // Dichiara PB5 come pin di uscita push pull GPIO_Init (GPIOB, GPIO_PIN_5, GPIO_MODE_OUT_PP_LOW_SLOW); } void loop () {if (GPIO_ReadInputPin (GPIOA, GPIO_PIN_2)) // se il pulsante è stato premuto GPIO_WriteLow (Green_LED); // LED ACCESO altrimenti GPIO_WriteHigh (Green_LED); // LED SPENTO GPIO_WriteReverse (GPIOB, GPIO_PIN_5); ritardo (100); }
Per concludere l'IDE di Arduino insieme a Sduino è un'ottima opzione se vuoi iniziare il tuo sviluppo con STM8S. Tuttavia, la piattaforma è ancora in fase di sviluppo e molte librerie Arduino devono ancora essere supportate. Tuttavia, se desideri approfondire e contribuire allo sviluppo, sarebbe fantastico. Ma, per motivi di apprendimento, continuerò la serie di tutorial con STVD e il compilatore C cosmico.