STM32 USB-FS-Device Lib: Unterschied zwischen den Versionen

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche
Zeile 20: Zeile 20:


Unter findet Ihr das Projekt zusammen mit einer CrossWorks Projektdatei [[Datei:ARM_USB_Test.zip]]. Voraussetzung zum Kompilieren ist folgende Verzeichnisstruktur
Unter findet Ihr das Projekt zusammen mit einer CrossWorks Projektdatei [[Datei:ARM_USB_Test.zip]]. Voraussetzung zum Kompilieren ist folgende Verzeichnisstruktur
[c]
<c>
Stammverzeichnis
Stammverzeichnis
   |__ ARM_USB_Test
   |__ ARM_USB_Test
Zeile 35: Zeile 35:
           |
           |
           |__ src
           |__ src
[/c]
</c>
              
              
   
   

Version vom 3. Mai 2010, 11:33 Uhr

STM32 USB-FS-Device Lib

Mit der STM32 USB-FS-Device Lib stellt ST C-Funktionen zur Benutzung der USB-Schnittstelle der STM32 µC zur Verfügung.

Sie kann zusammen mit Beipielimplemtationen verschiedener USB-geräteklassen hier bei ST kostenlos heruntergeladen werden: Download.

Eine Beschschreibung findet sich hier.


Virtual COM Port

Für die allgemeine Kommunikation mit einem PC wird für die meisten Projekte ein Virtual COMPORT die geeignete Geräteklasse sein. Auf PC Seite erscheint dabei nach einstecken des STM32 in den USB Port ein weiterer COM Port im Gerätemanager, der von Applikationen genauso wie jeder reale COM Port verwendet werden kann. Wie der Zugriff auf µC-Seite aussieht sehen wir uns weiter unten an.

Die Beispielimplemtierung

ST liefert eine Beispielimplemetierung für den einen Virtual Comport mit der USB-Lib mit. Um diese Nutzen zu können, muss das verwendete Evalboard einmal mit dem USB und einmal mit einem echten RS232 Verbunden sein, da man zum Test Daten zwischen zwei Terminalprogrammen hin- und herschicken kann, eines mit dem Virtual COM Port und das andere mit dem "echten" COM Port verbunden.

Da ich derzeit keinen weiteren COM Port zur verfügung hatte und ich gerne ein Beispiel wollte dass rein auf den USB-Port konzentriert ist, habe ich das Beispiel etwas modifiziert. In meinem Beispielprogramm sind alle USART Anteile entfernt, ebenso alle #ifdefs die sich auf ein bestimmtes EVAL-Board bzw. auf den STM32 in der Connectivity Line beziehen, der einen USB-OnTheGo besitzt. Dadurch ist der Code jetzt deutlich leichter zu überschauen. (wenn ihr unbedingt einen STM32 aus der Connectivity Line nehmen wollte, dann quält euch durch das Orginalbeispiel.

In der jetztigen Version schickt der µC jede Zeichenkette die ihm vom PC geschickt wird wieder an den selben COM Port zurück, aber in umgekehrter Zeichenfolge. (Zum Test empfehle ich HTerm Zumindest die in Crossworks entahlteten Terminal Emulation arbeitet nicht korrekt, daher besser nicht verwenden)

Unter findet Ihr das Projekt zusammen mit einer CrossWorks Projektdatei Datei:ARM USB Test.zip. Voraussetzung zum Kompilieren ist folgende Verzeichnisstruktur <c> Stammverzeichnis

  |__ ARM_USB_Test
  | 
  |__ ST_StandardLib    ( Standard Peripheral Libary ab Libraries)
  |        |
  |        |__ CMSIS
  |        |
  |        |__ STM32F10x_StdPeriph_Driver
  |         
  |___ ST_USB_LIB       (STM32_USB-FS-Device_Lib ab Libraries)
         |
         |__ inc
         |
         |__ src

</c>




--Escamoteur 07:39, 27. Apr. 2010 (UTC)