Ciao a tutti,
sto provando da qualche giorno a utilizzare una schedina BluePill con scarsi risultati.
Ho trovato in giro per la rete decine (se non centinaia) di blog e indicazioni per installare i vari drivers per le porte USB e per integrare correttamente il tutto con l'IDE di Arduino. Purtroppo chi scrive le pagine web non si cura MAI minimamente di pubblicare la data, di conseguenza non si è mai del tutto certi di star seguendo l'ultima procedura o se questa sia già stata superata.
In un ambiente in cui l'evoluzione è quasi giornaliera ciò non aiuta di sicuro.
Solo per fare un esempio, alcune guide dicono di aggiungere questo link nel gestore delle board:
http://dan.drown.org/stm32duino/package_STM32duino_index.json
Altre questo:
https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json
Ho installato il software ST Demonstrator GUI, caricato correttamente il bootloader "generic_boot20_pc13.bin" tramite interfaccia FTDI e dopo aver collegato la scheda mediante la sua porta USB e selezionato come porta la "Mape Serial COM6" (nel mio caso) il caricamento dello sketch dall'IDE (a parte il messaggio di errore a fine upload relativo al reset della porta USB), va a buon fine e sto benedetto LED lampeggia.
L'unico sketch che gira è il BLINK, lo Scanner_i2c ad esempio non fornisce nessun output sulla seriale, sembra vada in crash e di fatto qualsiasi Serial.print() inserito nel Setup() dopo il Serial.begin() viene perso a causa della commutazione delle porte com a fine upload. L'unica cosa che ho capito facendo dei test è che la velocità della seriale è ininfluente con la BluePill.
Successivamente ho installato anche STM32CubeProgrammer, questo a differenza del Demonstrator GUI identifica la scheda come una 128K anzichè una 64K. Insomma una moltitudine di idiosincrasie che ti portano a pensare di aver capito poco o nulla! :o
A complicare ulteriormente le cose capita che avevo due versioni dell'IDE di arduino, la classica, installata sotto C:\Programmi (x86)... che ho tenuto installata perchè avevo modificato i file board.txt e avrdude.conf per poter flashare correttamente i chip ATmega328 (non P), e la nuova per Windows 10 installata dal Microsoft Store ambedue alla versione 1.8.13 (che credo sia l'ultima).
Qualche volenteroso potrebbe indicarmi:
- quale versione dell'IDE conviene usare delle due?
- qual'è la procedura corretta per installare il supporto alle schede STM32?
- qual'è quella corretta per caricare gli sketch tramite bootloader, cioè collegando il cavo microusb direttamente alla scheda?
- quale tutorial (o libro) mi consigliate per iniziare a conoscere gli STM32 comprendere quali siano i pin corrispondenti a quelli di Arduino e come fare per adattare gli sketch scritti per Arduino (ma troppo grandi per girare su questo) alle BluePill;
In merito all'ultima domanda, tanto per citare un problema ad esempio, il compilatore si lamenta che la funzione itoa() usata in uno sketch non è dichiarata. Gli sketch che usano Wire.h e i device I2C non funzionano, non ho ancora capito, nonostante abbia confrontato il pinout di Arduino con quello della scheda STM32F103C8 quali siano i pin SCL e SDA da usare per collegare ad esempio un display OLED I2C.
Di sicuro c'è che ho molto da imparare.
Ho solo bisogno di capire da dove iniziare.
Grazie anticipate.