- Materials necessaris
- Esquema de connexions
- Carregant el carregador Maple Boot a la placa de desenvolupament STM32
- Preparació de l’IDE Arduino i instal·lació dels controladors
- Programació STM32 (Blue Pill) directament a través del port USB
La Junta de Desenvolupament STM32 habitatge de l' STM32F103C8 microcontrolador és cada vegada més populars gràcies a la seva arquitectura ARM Cortex M3, té alta velocitat de funcionament i les opcions més perifèriques. A més, ja que aquesta placa es pot programar fàcilment mitjançant Arduino IDE, s’ha convertit en una opció preferible per a molts enginyers i aficionats per fer prototips ràpids.
Al nostre tutorial anterior vam aprendre els conceptes bàsics de la placa de desenvolupament STM32 i també el vam programar perquè parpellegés un LED. Però hi havia un enorme inconvenient. Per programar el tauler, vam utilitzar un mòdul de programador FTDI i també vam haver de canviar el pont d'arrencada 0 entre 1 posició mentre penjava i provava un codi, que segurament és una tasca descoratjadora. També es va deixar totalment inutilitzat el port mini-USB de la placa de desenvolupament. La raó per fer-ho és que, quan es compra la placa de desenvolupament STM32 , no inclou un carregador d'arrencada preparat per Arduino i, per tant, l'ordinador no descobrirà la placa quan estigui connectada mitjançant l'USB.
Encara que amb sort, existeix un carregador d’arrencada experimental desenvolupat per LeafLabs per a mini plaques Maple. Aquest carregador d’arrencada es pot incloure a la STM32 una vegada i, després, podem utilitzar directament el port USB de la placa STM32 per carregar programes com qualsevol altra placa Arduino. Tanmateix, aquest carregador d'arrencada encara es troba en fase de desenvolupament en el moment de documentar aquest tutorial i no és recomanable per a aplicacions crítiques. Abans de procedir amb aquest tutorial, assegureu-vos que heu llegit el tutorial anterior per entendre els conceptes bàsics d’aquest tauler, inclosos els detalls sobre les especificacions i els pin-outs.
Materials necessaris
- STM32 - Taula de desenvolupament (BluePill) (STM32F103C8)
- Programador FTDI
- Taula de pa
- Connexió de cables
- Portàtil amb Internet
Esquema de connexions
Per programar la placa STM32 Blue Pill directament a través del port USB, primer hem de llançar el carregador d’arrencada Maple a la MCU. Per fer-ho, hem d’utilitzar una placa Serial FTDI. Aquesta placa està connectada als pins Rx i Tx de l'STM32 com es mostra a continuació.

El pin Vcc de la placa FTDI està connectat al pin STM32 5V d’alimentació de la placa. La terra està connectada a la terra de STM32. El pin Rx i Tx de la placa FTDI està connectat als pins A9 i A10 del STM32 respectivament. On l'A9 és el pin Tx de la STM32 MCU i l'A10 és el pin Rx.

Assegureu-vos que el pin del jumper d'arrencada 0 a la placa estigui establert en 1 (mode de programació) mentre pengeu el carregador d'arrencada. Un cop el gestor d'arrencada hagi parpellejat, aquest pin es pot tornar a la posició inicial (mode de funcionament).

Carregant el carregador Maple Boot a la placa de desenvolupament STM32
Un cop realitzada la connexió anterior, connecteu la placa FTDI a l'ordinador i seguiu els passos per introduir el carregador d'arrencada al STM32.
Pas 1: hem de descarregar els fitxers binaris del programa del carregador d'arrencada (fitxer bin) de la pàgina de github. Hi ha moltes versions del fitxer bin, per al tauler Blue Pill utilitzeu aquest enllaç github i feu clic al botó de descàrrega per descarregar el fitxer bin.
Pas 2: A continuació, hem de descarregar i instal·lar el programari de carregador Flash STM per introduir el fitxer descarregat a STM32. Feu clic en aquest enllaç per accedir al lloc web ST i desplaceu-vos fins a la part inferior i feu clic a obtenir programari

Pas 3: per descarregar el programari, heu d'introduir la vostra adreça de correu electrònic i l'enllaç de descàrrega s'enviarà al vostre correu electrònic. A continuació, seguiu l'enllaç al lloc web i feu clic a Obtén el programari de nou i començareu la descàrrega. Sí, és una mica frustrant, però així s’hauria de fer. No us oblideu de comprovar si hi ha correus electrònics a la carpeta de correu brossa, de vegades triga uns quants minuts a arribar.
Pas 4: Un cop descarregat, instal·leu el programari, assegureu-vos que la placa STM32 estigui connectada a l'ordinador mitjançant la placa FTDI i, a continuació, inicieu el programari. El programari detectarà automàticament el port COM si no utilitza el gestor de dispositius i assegureu-vos de seleccionar el número de port COM correcte. En el meu cas és COM4. Deixeu la resta de la configuració tal com es mostra a continuació.

Pas 5: feu clic al botó Següent dues vegades i el programari detectarà de nou automàticament els detalls del tauler i es mostrarà com es mostra a continuació. La placa que estem utilitzant és STM32F1 amb memòria flash de 128 K.

Pas 6: al pas següent, seleccioneu Baixa al dispositiu i aneu a la ubicació on hem baixat el fitxer bin al pas 1 i seleccioneu-lo. Feu clic a següent.

Pas 7: el programari descarregarà alguns fitxers necessaris com es mostra a continuació i, a continuació, començarà el procés de parpelleig.

Pas 8: un cop s'hagi completat el parpelleig, obtindrem la pantalla següent. Feu clic a Tanca i sortiu de l'aplicació. Hem llançat la placa STM32 amb el carregador d’arrencada Arduino amb èxit. Ara hem de preparar l'IDE Arduino i instal·lar els controladors abans de poder programar la placa STM32.

Preparació de l’IDE Arduino i instal·lació dels controladors
Seguiu els passos següents per descarregar i preparar l'IDE Arduino que s'utilitzarà amb la placa de desenvolupament STM 32.
Pas 1: - Si encara no heu instal·lat l'IDE Arduino, descarregueu-lo i instal·leu-lo des d'aquest enllaç. Assegureu-vos de seleccionar el sistema operatiu correcte.
Pas 2: - Després d’instal·lar l’IDE Arduino, obriu i descarregueu els paquets necessaris per a la placa STM32. Això es pot fer seleccionant Fitxer -> Preferències .
Pas 3: - Si feu clic a Preferències, s'obrirà el quadre de diàleg que es mostra a continuació. Al quadre de text URL del gestor de taulers addicionals, enganxeu l'enllaç següent
dan.drown.org/stm32duino/package_STM32duino_index.json
i premeu D'acord.

Pas 4: - Ara aneu a Eina -> Taulers -> Gestor de taulers . Això obrirà el quadre de diàleg Administrador de taules, cercarà "STM32F1" i instal·larà el paquet que apareix.
Pas 5: un cop instal·lat el paquet, aneu a C: \ Program Files (x86) Arduino \ hardware \ Arduino_STM32-master \ drivers \ win on trobareu install_drivers.bat i install_STM_COM_drivers.bat .
Pas 6: feu clic als fitxers bat i instal·leu els controladors. Rebrà una pantalla DOS com es mostra a continuació.


Ara Arduino IDE està preparat per programar la placa de desenvolupament STM32 (Blue Pill) i els controladors també estan instal·lats.
Programació STM32 (Blue Pill) directament a través del port USB
Traieu la placa FTDI i totes les connexions existents de STM32. Només cal que utilitzeu el port micro-USB de la placa STM32 per connectar-lo a l'ordinador tal com es mostra a continuació. Assegureu-vos que el pin 0 del pont està situat de nou a 0 (mode de funcionament). A partir d’ara no haurem de canviar el pont per carregar i executar els programes.

El vostre ordinador hauria de ser capaç de descobrir el tauler ara. Espereu una estona si veieu que s’instal·len controladors addicionals. A continuació, accediu al Gestor de dispositius i comproveu si la placa STM32 es troba a la secció COM i port, tal com es mostra a continuació. La meva està connectada a COM8 amb el nom Maple Mini.

Aneu a Eines i desplaceu-vos cap avall per trobar la sèrie genèrica STM32F103C com es mostra a continuació. A continuació, assegureu-vos que la variant és de tipus Flash de 64 k , la velocitat de la CPU és de 72 MHz i canvieu el mètode de càrrega a STM32duino Bootloader . Seleccioneu també el port COM correcte segons el del gestor de dispositius.

Un cop fets tots els canvis, comproveu l'extrem inferior dret de l'IDE d'Arduino i haureu de notar que s'estableix el següent paràmetre. La meva placa STM32 està connectada a COM8, però la vostra pot ser diferent

Ara, Arduino IDE està preparat per programar les taules de desenvolupament STM 32 Blue Pill. Carregem el programa de mostra de parpelleig de l’IDE Arduino a la placa STM32 Blue Pill per assegurar-nos que tot funciona correctament. El programa d'exemple es pot trobar a

Al programa d’exemple que s’obre, hem de fer un petit canvi. Per defecte, el programa s'escriurà per a PB1, però a la nostra placa el LED integrat està connectat a PC13, de manera que substituïu tots els PB1 per PC13 i estem bé de continuar. L' exemple complet del programa que es modifica també es pot trobar a la part inferior d'aquesta pàgina.
A continuació, es mostra només el codi dins de la funció de bucle , on podem observar que el pin PC13 es manté ALT (activat) durant 1000 mil·lisegons i després es torna BAIX (desactivat) durant 1000 milisegons més, i això es fa durant infinites vegades des que es troba a funció de bucle . Per tant, el LED sembla parpellejar amb un interval de 1.000 mil·lisegons.
digitalWrite (PC13, HIGH); // encendre el LED (HIGH és el nivell de tensió) retard (1000); // esperar un segon digitalWrite (PC13, BAIX); // apagueu el LED fent que el voltatge sigui baix (1000); // espera un segon
Premeu el botó de càrrega de l'IDE d'Arduino i el vostre programa s'hauria de compilar i carregar. Si tot ha funcionat com s’esperava, hauríeu de veure el següent a la vostra consola IDE d’Arduino.

Si el programa s'ha carregat correctament, hauríeu de veure el LED verd parpellejant a un interval d'1 segon, tal com es mostra al vídeo següent. També podeu jugar amb el programa per augmentar o disminuir el retard. Ara podeu començar a utilitzar la placa de desenvolupament STM32 (Blue Pill) com qualsevol altra placa Arduino, és a dir, ja no cal canviar la posició dels jumpers ni utilitzar maquinari extern per carregar i provar programes.

Espero que hàgiu entès el tutorial i us hagi estat útil començar amb STM32 Board. Si teniu algun problema, deixeu-los a la secció de comentaris, també digueu-me quins projectes hauríem de provar amb aquesta placa STM32 en el futur.
