Arduino zou het eerste bord zijn geweest voor veel hobbyisten (waaronder ikzelf) en ingenieurs die er waren toen ze begonnen met elektronica. Naarmate we echter meer gaan bouwen en diep graven, zouden we ons snel realiseren dat Arduino niet klaar is voor de industrie en dat de 8-bit CPU met een belachelijk langzame klok je niet genoeg kracht geeft voor je projecten. Hopelijk hebben we nu de nieuwe STM32F103C8T6 STM32 Development Boards (Blue Pill) op de markt die Arduino gemakkelijk kunnen overtreffen met zijn 32-bit CPU en ARM Cortex M3-architectuur. Een andere honingpot hier is dat we dezelfde oude Arduino IDE kunnen gebruiken om onze STM32-kaarten te programmeren. Dus laten we in deze tutorial aan de slag gaan met de STM32 om een beetje basiskennis over dit bord te leren en de ingebouwde LED te laten knipperen met behulp van de Arduino IDE.
Afgezien van het STM32 Blue-pillendoosje dat in deze tutorial wordt gebruikt, zijn er veel andere populaire STM32-borden zoals het STM32 Nucleo Development-bord. Als je geïnteresseerd bent, kun je ook de recensie over STM32 Nucleo 64-kaarten bekijken en als je wilt leren hoe je ze kunt gebruiken en programmeren met de STM32 CubeMX en True Studio, kun je de tutorial bekijken om aan de slag te gaan met STM32 Nucelo64.
Vereiste materialen
- STM32 - (BluePill) Ontwikkelingsbord (STM32F103C8T6)
- FTDI-programmeur
- Breadboard
- Draden aansluiten
- Laptop met internet
Inleiding tot de STM32 (Blue Pill) -borden
Het STM32-bord, ook bekend als Blue Pill, is een ontwikkelbord voor de ARM Cortex M3 Microcontroller. Het lijkt erg op de Arduino Nano, maar het is behoorlijk krachtig. Het Development board wordt hieronder getoond.
Deze boards zijn extreem goedkoop vergeleken met de officiële Arduino boards en ook de hardware is open source. De microcontroller er bovenop is de STM32F103C8T6 van STMicroelectronics. Afgezien van de microcontroller bevat het bord ook twee kristaloscillatoren, een is een 8 MHz-kristal en de andere is een 32 kHz-kristal, dat kan worden gebruikt om de interne RTC (Real Time Clock) aan te sturen. Hierdoor kan de MCU in diepe slaapstanden werken, waardoor deze ideaal is voor toepassingen op batterijen.
Omdat de MCU werkt met 3.3V, bevat het bord ook een 5V tot 3.3V spanningsregelaar IC om de MCU van stroom te voorzien. Hoewel de MCU op 3,3 V werkt, zijn de meeste GPIO-pinnen 5V-tolerant. De pin van de MCU wordt netjes uitgetrokken en aangeduid als header-pinnen. Er zijn ook twee ingebouwde LED's, een (rode kleur) wordt gebruikt voor stroomindicatie en de andere (groene kleur) is verbonden met de GPIO-pin PC13. Het heeft ook twee header-pinnen die kunnen worden gebruikt om de MCU-opstartmodus te schakelen tussen programmeermodus en bedieningsmodus, we zullen hier later in deze tutorial meer over leren.
Nu vragen maar weinig mensen zich af waarom dit bord als "Blue Pill" wordt genoemd, nou serieus, ik weet het niet. Misschien omdat het bord blauw van kleur is en je projecten een boost kan geven, is iemand met deze naam erin gebleven en is het gewoon gebleven. Dit is slechts een aanname en ik heb geen bron om dit te staven.
STM32F103C8T6 Specificaties
De ARM Cortex M3 STM32F103C8 Microcontroller wordt gebruikt in het Blue pill board. In tegenstelling tot de naam "Blue Pill" heeft de naam STM32F103C8T6 van de Microcontroller een betekenis.
- STM »staat voor de naam van de fabrikant STMicroelectronics
- 32 »staat voor 32-bit ARM-architectuur
- F103 »staat om aan te geven dat de architectuur ARM Cortex M3
- C »48-polig
- 8 »64KB Flash-geheugen
- T »pakkettype is LQFP
- 6 »bedrijfstemperatuur -40 ° C tot + 85 ° C
Laten we nu eens kijken naar de specificaties van deze Microcontroller.
Architectuur: 32-bits ARM Cortex M3
Bedrijfsspanning: 2,7V tot 3,6V
CPU-frequentie: 72 MHz
Aantal GPIO-pinnen: 37
Aantal PWM-pinnen: 12
Analoge ingangspinnen: 10 (12-bits)
USART Randapparatuur: 3
I2C Randapparatuur: 2
SPI-randapparatuur: 2
Can 2.0 randapparatuur: 1
Timers: 3 (16-bits), 1 (PWM)
Flash-geheugen: 64 KB
RAM: 20 kB
Als je het wilt weten