Microcontroller STM32F103C8T6 – Übersicht

Microcontroller STM32F103C8T8
Microcontroller STM32F103C8T8

Der Microcontroller STM32F103C8T6 verfügt über einen 72MHz ARM Cortex M3 CPU mit 32Bit Architektur und vielen zusätzlichen Features welche ich hier noch näher erläutern möchte.

Microcontroller STM32F103C8T6
Microcontroller STM32F103C8T6

Bezug

Der Microcontroller kann schon ab 1,87€ (inkl. Versandkosten) über eBay.de bezogen werden. Dieses Board kann aber auch bei amazon.de, banggood.com (Umrechnungskurs von Dollar zu Euro beachten!) bezogen werden, wobei die Preise hier deutlich höher liegen (Stand 18.01.2018).

Für das aufspielen von Sketche im Seriellen Modus wird ein FTDI Modul benötigt dieses gibt es wiederum bei eBay.de für ca. 3€ (Hier muss aber auf die Versandkosten geachtet werden, diese sind unter umständen unverschämt hoch.)

FTDI Modul, UBS zu TTL Signal Converter
FTDI Modul, UBS zu TTL Signal Converter

Technische Daten

  • CPU
    • ARM Cortex M3
    • Architektur – 32Bit
    • Taktfrequenz – 72 MHz
  • Speicher
    • 64Kb – Flash Speicher
    • 20Kb – SRAM
  • Schnittstellen
    • digitale I/O Pins – 37
    • SPI – 2
    • USART – 3
    • I2C – 2
    • CAN – 1
  • interne RealTimeClock
  • Abmessungen – 22,86mm x 53.34mm
  • Eingangsspannung – 2V bis 3.6V
  • Betriebsspannung – 3.3V
  • max. Betriebstemperatur -20°C bis +70°C

Zu dem Board gibt es eine Wiki Seite wo weitere Informationen zu finden sind.
Dort gibt es auch eine Grafik mit der Pinbelegung (Pinout).

Verbinden mit der Arduino IDE

Wie man die Arduino IDE installiert habe ich bereits im Tutorial Arduino IDE installieren ausführlich erläutert, in diesem Abschnitt möchte ich auf die Verbindung mit dem STM32F103C8T6 eingehen.

Den Treiber für das Board STM32F103C  kann aus dem GitHub Repository von RogerClarkMelburne (*.zip) geladen werden. Nachdem die ca. 37 MB Große Zipdatei geladen und entpackt wurde, wird das Verzeichniss „Arduino_STM32-master“ in den Pfad C:\Programs\Arduino\hardware der Arduino IDE kopiert.

Nachdem die Arduino IDE gestartet wurde steht das neue Board unter „Werkzeuge“ -> „Boards: xyz“ zur Verfügung:

STM32 Boards in der Arduino IDE
STM32 Boards in der Arduino IDE

Damit ist die Installation aber noch nicht abgeschlossen es muss noch über den Boardverwalter das Plugin „Arduino STM32F4“ Version 1.0.1 installiert werden. Es gibt eine Beschreibung wo das Plugin „Arduino SAM boards (Cortex-M3)“ genannt wurde, jedoch hat dieses in meinem Fall nicht zum Erfolg geführt.

 

Anschluss über ein FTDI Modul

Obwohl der Microcontroller über einen Micro USB Anschluss verfügt muss man diesen über einen separaten FTDI Modul programmieren.

Ein FTDI Modul habe ich bereits im Tutorial zum Arduino ProMini – Anschließen & Programmieren verwendet, möchte hier jedoch auf den besonderen Anschluss eingehen. Der Microcontroller ist hier in jeder hinsicht etwas besonderes.

FTDI Modul STM32F103C8T6
 GND  GND
VCC 3,3 V
RX A9
TX A10

 

STM32F103C8T6 mit FTDI Modul
STM32F103C8T6 mit FTDI Modul

Beim FTDI Modul ist darauf zu achten das dieses auf 3,3V gepint ist, es gibt auch Module welche „nur“ 5V liefern und sich nicht einstellen lassen. Der STM32F103C8T6 ist nur für eine Eingangsspannung von 2V bis 3,6V geeignet.

 

Beispiel Sketch aufspielen

Es soll nun ein einfaches „Hello World!“ auf dem Seriellen Ausgang ausgegeben werden.

Boot Modus einstellen

Der STM32F103C8T6 verfügt über zwei Boot Modi „0“ und „1“. Über den Boot Modus stellt man den Speicher ein wo der Sketch hochgeladen werden soll. Wir stellen in diesem Fall den Jumper gegenüber von dem „Reset Taster“ auf „1“ (siehe Bild).

Jumper Position "BOOT1" auf dem STM32F103C8T6
Jumper Position „BOOT1“ auf dem STM32F103C8T6

Einstellungen in der Arduino IDE

Unter dem Menüpunkt „Werkzeuge“ -> „Board: xyz“ wird das Board „Generic STM32F103C series“ ausgewählt.

STM32 Boards
STM32 Boards

Als nächstes kommt es auf das Model an, dieses kann im Menüpunkt „Variant“ ausgewählt werden.

Varianten des STM32 Boards
Varianten des STM32 Boards

Als letzen Punkt stellt man den Modus ein mit welchem der Sketch auf den STM32 geladen werden soll, in diesem Tutorial verwende ich ein FTDI Modul und wähle somit „Serial“ aus.

STM32 Upload Method aus der Arduino IDE
STM32 Upload Method aus der Arduino IDE

Quellcode

Der nachfolgende Quellcode wird jetzt sicherlich keine Überraschung, jedoch der Vollständigkeit halber möchte ich diesen hier aufführen.

Auf dem STM32F103C8T6 Board ist unteranderem eine LED verbaut welche man über den PIN PC13 ansteuern kann dieses wollen wir nun im nächsten Sketch machen.

Beispiel – interne LED ansteuern

Die interne LED liegt auf dem Pin PC13 und kann wie beim Arduino UNO üblich gesteuert werden.

Video

In dem Video zeige ich wie man das Board STM32F103C8T6 mit dem FTDI Modul verbindet und ein Sketch hochläd.

Verbinden des STM32F103C8T6 mit dem FTDI under Arduino IDE

Troubleshooting

Fehler – „Failed to init device“

Der Fehler tritt meist beim Upload eines neues Sketches auf.  Um diesen zu beheben muss nur der Reset Taster betätigt werden und der Uploadvorgang erneut gestartet werden.

 

1 Kommentar

  1. Der Fehler „Failed to init device“ geht leider nicht weg nach dem der Reset Taster betätigt wird.
    Mit dieser Anleitung war es mir nicht möglich ein Programm auf den Microcontroller zu laden.

Antworten

Deine E-Mail-Adresse wird nicht veröffentlicht.


*