<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bytewaste</id>
	<title>Mikrocontroller.net - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bytewaste"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/Bytewaste"/>
	<updated>2026-04-21T12:39:26Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=STM32_USB-FS-Device_Lib&amp;diff=50563</id>
		<title>STM32 USB-FS-Device Lib</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=STM32_USB-FS-Device_Lib&amp;diff=50563"/>
		<updated>2010-09-11T15:08:11Z</updated>

		<summary type="html">&lt;p&gt;Bytewaste: Einbindung des Schaltplans geändert, damit der nicht das Layout sprengt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===STM32 USB-FS-Device Lib===&lt;br /&gt;
&lt;br /&gt;
Mit der &#039;&#039;STM32 USB-FS-Device Lib&#039;&#039; stellt ST C-Funktionen zur Benutzung der [[USB]]-Schnittstelle der STM32 µC zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Sie kann zusammen mit Beipielimplementationen verschiedener USB-Geräteklassen hier bei ST kostenlos heruntergeladen werden: [http://www.st.com/stonline/products/support/micro/files/um0424.zip Download].&lt;br /&gt;
&lt;br /&gt;
Eine Beschreibung findet sich [http://www.st.com/stonline/products/literature/um/13465.pdf hier].&lt;br /&gt;
&lt;br /&gt;
==Virtual COM Port==&lt;br /&gt;
Für die allgemeine Kommunikation mit einem PC wird für die meisten Projekte ein Virtual COMPORT die geeignete Geräteklasse sein.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Die Beispielimplementierung===&lt;br /&gt;
ST liefert eine Beispielimplementierung 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 &amp;quot;echten&amp;quot; COM Port verbunden.&lt;br /&gt;
&lt;br /&gt;
Da ich derzeit keinen weiteren COM Ports 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, welche einen USB-OnTheGo besitzt. Dadurch ist der Code jetzt deutlich leichter zu überschauen. (wenn ihr unbedingt einen STM32 aus der Connectivity Line nehmen wollt, dann quält euch durch das Orginalbeispiel.&lt;br /&gt;
&lt;br /&gt;
In der jetzigen 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 [http://www.mikrocontroller.net/topic/26477 HTerm] Zumindest die in Crossworks enthaltene Terminal Emulation arbeitet nicht korrekt, daher besser nicht verwenden)&lt;br /&gt;
&lt;br /&gt;
Unter findet Ihr das Projekt zusammen mit einer CrossWorks Projektdatei [[Datei:ARM_USB_Test.zip]]. Voraussetzung zum Kompilieren ist folgende Verzeichnisstruktur&lt;br /&gt;
&amp;lt;c&amp;gt;&lt;br /&gt;
Stammverzeichnis&lt;br /&gt;
   |__ ARM_USB_Test&lt;br /&gt;
   | &lt;br /&gt;
   |__ ST_StandardLib    ( Standard Peripheral Libary ab Libraries)&lt;br /&gt;
   |        |&lt;br /&gt;
   |        |__ CMSIS&lt;br /&gt;
   |        |&lt;br /&gt;
   |        |__ STM32F10x_StdPeriph_Driver&lt;br /&gt;
   |         &lt;br /&gt;
   |___ ST_USB_LIB       (STM32_USB-FS-Device_Lib ab Libraries)&lt;br /&gt;
          |&lt;br /&gt;
          |__ inc&lt;br /&gt;
          |&lt;br /&gt;
          |__ src&lt;br /&gt;
&amp;lt;/c&amp;gt;&lt;br /&gt;
             &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
=== Windows Treiber für den Virtual COM Port ===&lt;br /&gt;
&lt;br /&gt;
Wie im Artikel [[Wieso braucht man überhaupt einen Treiber für einen Virtual Com port?]] diskutiert, läßt die Basiskonfiguration von Windows ziemlich zu wünschen übrig wenn es um Virtual COM Ports geht. Ohne ersichtlichen Grund wird diese Standardgeräteklasse nicht automatisch erkannt und unterstützt, sondern man benötigt einen passenden Treiber oder vielmehr die passen .inf-Datei.&lt;br /&gt;
&lt;br /&gt;
Da die entsprechende kostenlose .inf-Datei auf der ST-Seite nicht so einfach zu finden ist, kann sie hier [[Datei:stmcdc.inf]] heruntergeladen werden.&lt;br /&gt;
&lt;br /&gt;
=== Schaltplan für diese Implementierung ===&lt;br /&gt;
[[Bild:STM32-USB-Schaltplan.png|thumb|Schaltplan]]&lt;br /&gt;
Für alle die die Schaltung nachbauen wollen hier der Schaltplan, der in meinem Lochrasteraufbau problemlos funktioniert. (Die SD-Card rechts hat natürlich nichts damit zu tun ;-)&lt;br /&gt;
&lt;br /&gt;
== Aubau der Beispielimplmentierung==&lt;br /&gt;
&lt;br /&gt;
Um die Implementierung einfacher nachvollziehen zu können, hier ein Archiv [[Bild:CrossWorks_StandardLib_Setup.zip]] mit einer kompletten Arbeitsumgebung für Crossworks.&lt;br /&gt;
&lt;br /&gt;
Hier soll, wie ich Zeit dafür habe gezeigt werden welche der Funktionen und Dateien für uns interessant sind um eigene Funktionalität dort zu integrieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Escamoteur|Escamoteur]] 07:39, 27. Apr. 2010 (UTC)&lt;br /&gt;
[[Category:ARM]][[Category:STM32]]&lt;/div&gt;</summary>
		<author><name>Bytewaste</name></author>
	</entry>
</feed>