Einfaches Beispiel für die Entwicklung eines USB FullSpeed Device auf Basis des STM32F103 ohne die Verwendung externer Bibliotheken
Dies ist ein einfaches Beispiel für die Entwicklung eines USB FullSpeed Device auf Basis des STM32F103 ohne die Verwendung externer Bibliotheken, nur durch Low-Level-Registerzugriffe. Es sind vier Varianten gezeigt:
Dies ist der Beispielcode für dieses Tutorial zur Entwicklung eigener USB-Geräte.
Der Code ist für den STM32F103RBT6 eingestellt. Als Pinout wird das des Olimexino-STM32 angenommen (insb. mit PC12 zum Einschalten des 1,5kΩ-Widerstands auf der D+ -Leitung). Beides kann aber leicht angepasst werden.
Im Code sind die fiktiven VID und PID 0xDEAD bzw. 0xBEEF eingestellt; dies sollte auf korrekte Werte angepasst werden.
Im Repository befinden sich zip-Archive, welche Projektdateien für verschiedene IDE's beinhalten. Zur Nutzung der entsprechenden IDE muss das Archiv einfach nur direkt in das Projektverzeichnis entpackt werden.
Dateiname | Zugehörige Entwicklungsumgebung |
---|---|
Atollic_TrueSTUDIO.zip | Atollic TrueSTUDIO Lite |
gnu-mcu-eclipse.zip | eclipse-cdt mit GNU MCU Eclipse-Plugins und GNU Arm Embedded Toolchain in der Version 6.3.1 (Juni 2017) |
sw4stm32.zip | System Workbench for STM32 |
Keil-MDK.zip | Keil MDK 5 unter Nutzung des Clang-basierten Compiler Version 6 |
Auf der Releases-Seite sind fertige Binaries für den direkten Download auf den Controller verfügbar.
Dieser Code steht unter der BSD-Lizenz, siehe dazu die Datei LICENSE.