{"id":380,"date":"2017-11-24T21:50:29","date_gmt":"2017-11-24T20:50:29","guid":{"rendered":"http:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=380"},"modified":"2018-01-04T19:15:03","modified_gmt":"2018-01-04T18:15:03","slug":"31-usb_cdc-library-stm32f4","status":"publish","type":"page","link":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f4\/komplette-library-liste-stm32f4\/31-usb_cdc-library-stm32f4\/","title":{"rendered":"31-USB_CDC-Library (STM32F4)"},"content":{"rendered":"<p><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-previous\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f4\/komplette-library-liste-stm32f4\/30-ps2_mouse-library-stm32f4\/\" title=\"30-PS2_Mouse-Library (STM32F4)\"><span class=\"meta-nav\">\u2190<\/span> 30-PS2_Mouse-Library (STM32F4)<\/a><\/div><\/div><!-- #nav-below --><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-next\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f4\/komplette-library-liste-stm32f4\/32-usb_msc_host-library-stm32f4\/\" title=\"32-USB_MSC_HOST-Library (STM32F4)\">32-USB_MSC_HOST-Library (STM32F4) <span class=\"meta-nav\">&rarr;<\/span><\/a><\/div><\/div><!-- #nav-below --><\/p>\n<p>Hier eine Library um den USB-OTG-Port am Discovery-Board im CDC-Mode zu betreiben. Damit wird beim Verbinden mit einem PC ein virtueller Comport eingerichtet \u00fcber den man (wie per UART) Daten austauschen kann.<\/p>\n<p>Auf der PC Seite muss der \u201cVirtualComPort-Driver von ST\u201d installiert sein. Den gibts auf der ST-Seite zum download (ich hab mit Version 1.3.1 getestet).<br \/>\n<em>Auf der ST-Seite nach \u201cSTSW-STM32102\u2033 suchen.<\/em><\/p>\n<p>Die LIB erwartet beim empfang als Endekennung das Zeichen \u201c0x0D\u201d = CarriageReturn<br \/>\n(das muss der PC also am Stringende anh\u00e4ngen)<\/p>\n<p>Beim Protokoll (Baudrate, Stopbits usw) muss nichts eingestellt werden, das wird vom USB-Treiber erledigt. Bei einer Geschwindigkeitsmessung f\u00fcr das senden von einem Block von 1024 Bytes vom PC zur CPU bin ich auf ca. 4ms gekommen, was ca. 256kByte\/sec entspricht (ca. 2Mbit\/sec)\u2026ob das aber durchgehend eingehalten wird, kann ich nicht sagen.<br \/>\n(Nachtrag : im Capture-Tool-Projekt komme ich auf Datenraten von ca. 7MBit\/sec, wobei USB-FullSpeed mit max 12MBit\/sec spezifiziert ist)<\/p>\n<p>In der Library gibt es eine Sende und eine Empfangsfunktion f\u00fcr Strings und eine Funktion zum testen ob die USB-Verbindung steht.<\/p>\n<p>Ich hab auch ein \u201cmini\u201d PC-Terminal-Programm geschrieben um die Funktion zu testen.<\/p>\n<p>Es wird ein USB-Kabel mit Micro-USB-Stecker ben\u00f6tigt. (gibts bei EBay oder Amazon)<\/p>\n<p><strong>Benutzte Pins<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">  PA8   -&gt; USB_OTG_SOF (wird nicht benutzt)\r\n  PA9   -&gt; USB_OTG_VBUS\r\n  PA10  -&gt; USB_OTG_ID\r\n  PA11  -&gt; USB_OTG_DM\r\n  PA12  -&gt; USB_OTG_DP<\/pre>\n<p><strong>Voraussetzungen :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">Benutzte Module der CooCox-IDE : GPIO, MISC\r\nBenutzte Librarys : keine<\/pre>\n<p><strong>Enumerationen :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">typedef enum {\r\n  USB_CDC_NO_INIT =0, \/\/ USB-Schnittstelle noch nicht initialisiert\r\n  USB_CDC_DETACHED,   \/\/ USB-Verbindung getrennt\r\n  USB_CDC_CONNECTED   \/\/ USB-Verbindung hergestellt\r\n}USB_CDC_STATUS_t;<\/pre>\n<p><strong>.<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">typedef enum {\r\n  NONE = 0,  \/\/ keine Endekennung\r\n  LFCR,      \/\/ LineFeed + CarriageReturn (0x0A,0x0D)\r\n  CRLF,      \/\/ CarriageReturn + LineFeed (0x0D,0x0A)\r\n  LF,        \/\/ nur LineFeed (0x0A)\r\n  CR         \/\/ nur CarriageReturn (0x0D)\r\n}USB_CDC_LASTBYTE_t;<\/pre>\n<p><strong>.<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">typedef enum {\r\n  RX_USB_ERR =0, \/\/ keine USB Verbindung\r\n  RX_EMPTY,      \/\/ nichts empfangen\r\n  RX_READY       \/\/ es steht was im Empfangspuffer\r\n}USB_CDC_RXSTATUS_t;<\/pre>\n<p><strong>Funktionen :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">void UB_USB_CDC_Init(void);                                                \/\/ zum init der USB-Schnittstelle\r\nUSB_CDC_STATUS_t UB_USB_CDC_GetStatus(void);                               \/\/ USB Status abpr\u00fcfen\r\nErrorStatus UB_USB_CDC_SendString(char *ptr, USB_CDC_LASTBYTE_t end_cmd);  \/\/ zum senden eines Strings per USB\r\nUSB_CDC_RXSTATUS_t UB_USB_CDC_ReceiveString(char *ptr);                    \/\/ zum empfangen eines Strings per USB<\/pre>\n<p><strong>Beispiel :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">\/\/--------------------------------------------------------------\r\n\/\/ File     : main.c\r\n\/\/ Datum    : 07.04.2013\r\n\/\/ Version  : 1.0\r\n\/\/ Autor    : UB\r\n\/\/ EMail    : mc-4u(@)t-online.de\r\n\/\/ Web      : www.mikrocontroller-4u.de\r\n\/\/ CPU      : STM32F4\r\n\/\/ IDE      : CooCox CoIDE 1.7.0\r\n\/\/ Module   : CMSIS_BOOT, M4_CMSIS_CORE\r\n\/\/ Funktion : Demo der USB-CDC-Library\r\n\/\/ Hinweis  : Diese zwei Files muessen auf 8MHz stehen\r\n\/\/              \"cmsis_boot\/stm32f4xx.h\"\r\n\/\/              \"cmsis_boot\/system_stm32f4xx.c\"\r\n\/\/--------------------------------------------------------------\r\n\r\n#include \"main.h\"\r\n#include \"stm32_ub_usb_cdc.h\"\r\n\r\nint main(void)\r\n{\r\n  char buf[APP_TX_BUF_SIZE]; \/\/ puffer fuer Datenempfang\r\n  USB_CDC_RXSTATUS_t check;\r\n\r\n  SystemInit(); \/\/ Quarz Einstellungen aktivieren\r\n\r\n  \/\/ Init vom USB-OTG-Port als CDC-Device\r\n  \/\/ (Virtueller-ComPort)\r\n  UB_USB_CDC_Init();\r\n\r\n  while(1)\r\n  {\r\n    \/\/ Test ob USB-Verbindung zum PC besteht\r\n    if(UB_USB_CDC_GetStatus()==USB_CDC_CONNECTED) {\r\n      \/\/ Ceck ob Daten per USB empfangen wurden\r\n      check=UB_USB_CDC_ReceiveString(buf);\r\n      if(check==RX_READY) {\r\n        \/\/ wenn Daten empfangen wurden\r\n        \/\/ als Echo wieder zur\u00fccksenden\r\n        \/\/ (mit LineFeed+CarriageReturn)\r\n        UB_USB_CDC_SendString(buf,LFCR);\r\n      }\r\n    }\r\n  }\r\n}\r\n<\/pre>\n<p>Hier die Library zum\u00a0<strong>Download :<\/strong><\/p>\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/06\/ub_stm32f4_usb_cdc_v104.zip\">ub_stm32f4_usb_cdc_v104<\/a><\/p>\n<p>Hier der komplette CooCox-Projektordner zum\u00a0<strong>Download :<\/strong><\/p>\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/06\/Demo_31_USB_CDC.zip\">Demo_31_USB_CDC<\/a><\/p>\n<p>Hier der Link zu dem PC-Programm :<\/p>\n<p><a title=\"PC-Programme von mir\" href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=140\">PC-Programme<\/a><\/p>\n<h3 id=\"comments-title\">71 Antworten auf <em>31-USB_CDC-Library (STM32F4)<\/em><\/h3>\n<ol class=\"commentlist\">\n<li id=\"li-comment-104\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-104\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/59c0a7621a39d7149fad30cd9e694949?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Dmitriy<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">4. Mai 2013 um 03:30<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hi. Thanks for you tutorials.<br \/>\n<a href=\"index1665.html?page_id=1263\" rel=\"nofollow\">http:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=1263<\/a><br \/>\ni have some problems.<\/p>\n<p>first problem \u2013 i can use your terminal to comunicate with device, but i cant communicante with other terminals. Nothing is returning. i used string such as TEST0x0D<\/p>\n<p>Second problem. when i send string about 20 times \u2013 stm32f4 goes crasy and send some string all time. string looks like \u201c*P[Z! F@`W:BO!(F[(y@tr@}{\u201cBZr-9pzQ2ol\u201d<\/p>\n<p>Thanks<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-106\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-106\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">4. Mai 2013 um 09:29<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hi,<br \/>\nyour terminal must send a \u201cCarriageReturn\u201d at the end of the string, instead of the characters \u201c0x0D\u201d. So when you try to send \u201cTEST\u201d the terminal must send 5 Bytes : 0\u00d754, 0\u00d745, 0\u00d753, 0\u00d754, 0x0D<\/p>\n<p>To verify the second problem i need your complete Projekt (main.c). please send it to me as zip-file.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-108\" class=\"comment even depth-3\">\n<div id=\"comment-108\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/59c0a7621a39d7149fad30cd9e694949?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Dmitriy<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">4. Mai 2013 um 11:25<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>I have second problem on you code as is. with absolutelly no changes. and use your terminal with word \u201cHELP\u201d.<br \/>\nsend 20 times and have infine loop with strange string comes all the time.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-109\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-4\">\n<div id=\"comment-109\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">4. Mai 2013 um 11:55<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>uhh..ok, i will check this here, hang on.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-112\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-4\">\n<div id=\"comment-112\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">4. Mai 2013 um 12:12<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>ok, i have here the same problem !!<br \/>\nI will check this and give a feedback, thanks for comment <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":-)\" \/><\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-113\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-4\">\n<div id=\"comment-113\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">4. Mai 2013 um 14:01<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>BUG is now fixed, Version 1.2 is online, please test it again.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-603\" class=\"comment even depth-5\">\n<div id=\"comment-603\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/c34021a4be9ba725fa37b99785f0d622?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">STler<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">3. Juli 2013 um 17:08<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Have you updated the Terminal in Version 1.2?<br \/>\nMy download today is version 1.0<\/p>\n<p>Thanks and best regards!<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-604\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-5\">\n<div id=\"comment-604\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">3. Juli 2013 um 19:05<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>the actual Version of the Terminal_Program is 1.0 and the STM-Library has Version 1.4 (there was no need to update the Terminal because the BUG was in the STM-Library)<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-130\" class=\"comment even thread-odd thread-alt depth-1\">\n<div id=\"comment-130\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/c3135eb4a7f9496413c33b7be6b998ba?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">lungfish<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">7. Mai 2013 um 15:48<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hi there!<br \/>\nFirst of all \u2013 thanks for sharing your code with the world.<\/p>\n<p>I just downloaded ub_stm32f4_usb_cdc_v102 and compiled it in Coocox 1.7.<\/p>\n<p>My device uses a STM32F407VG, HSE is 8MHz. The USB-FS connection is device only, e.g. PA8-SOF and PA10-ID are not connected.<br \/>\nDFU with DFUSE works like a charm.<\/p>\n<p>Problem with your project: My Win7 doesn\u2019t even register a new USB device.<br \/>\nWhen crawling through the code I asked myself, if it\u2019s correct to use PA9-VBUS as output (thus never seeing the connection status).<\/p>\n<p>Looking forward to your reply, lungfish<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-131\" class=\"comment odd alt depth-2\">\n<div id=\"comment-131\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/c3135eb4a7f9496413c33b7be6b998ba?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">lungfish<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">7. Mai 2013 um 17:17<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>I withdraw the part about PA9-VBUS being an output. Sorry.<br \/>\nStill trying to get the example running, though.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-139\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-3\">\n<div id=\"comment-139\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">8. Mai 2013 um 08:29<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hi,<br \/>\nSOF (PA8) is not used but i am not sure about the ID-Pin (PA10) \u2026try to connect it to GND. Have you installed the right VCP-Driver from STM ?<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-142\" class=\"comment odd alt depth-4\">\n<div id=\"comment-142\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/c3135eb4a7f9496413c33b7be6b998ba?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">lungfish<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">8. Mai 2013 um 11:10<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Sooo \u2013 I should have quit earlier, yesterday.<br \/>\nAnyways \u2013 I took an Olimex STM32-E407, changed its HSE to 8MHz and<br \/>\n&#8211; your example works without any mods.<br \/>\nNow that I have a baseline to start from, I\u2019ll go back to my board and we\u2019ll see.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-143\" class=\"comment even depth-5\">\n<div id=\"comment-143\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/c3135eb4a7f9496413c33b7be6b998ba?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">lungfish<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">8. Mai 2013 um 12:17<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>The ID-Pin can be left open, even the internal PullUp is OK.<\/p>\n<p>Soo \u2013 for safety reasons I had a 1k resistor between PA9 and VBUS.<br \/>\nChange that to 22R and the show is on the road.<br \/>\nNow the unpowered device sucks power from the PC, though.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-144\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-5\">\n<div id=\"comment-144\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">8. Mai 2013 um 12:48<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Nice. On the STM-Discovery-Board there isn\u2019t a resistor anywhere. PA9 is directly routed to the USB VBUS Pin.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-145\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-145\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/c3135eb4a7f9496413c33b7be6b998ba?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">lungfish<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">8. Mai 2013 um 13:21<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Without the resistor, the unpowered board sucks power through the internal PA9 protection diode.<br \/>\nI\u2019ll have to think about a solution for that. Could kill the STM32 under the wrong circumstances.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-233\" class=\"comment odd alt thread-odd thread-alt depth-1\">\n<div id=\"comment-233\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/0718d9eba3a0a5b48654b4a7d235b1ee?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Malte<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">21. Mai 2013 um 08:13<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hi,<\/p>\n<p>thanks for sharing your librarys.<\/p>\n<p>How fast is this CDC Library? I need to transmit every 20ms a maximum of 1024 byte in approx 5 ms (something about 1.6MBit). So, no continous stream. In a short time quite a few data.<br \/>\nI think isochronous transfer would be the best. But i want to avoid this cause i havent found any good example for this (i think i would have to write Win and Linux driver on my own).<br \/>\nOr do anyone found examples USB isochronous with win+linux driver + demoapplication (never wrote a program for linux or win)<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-235\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\">\n<div id=\"comment-235\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">21. Mai 2013 um 08:45<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>I don\u2019t know the speed of the USB-Transfer, but i can check this. I think the bottleneck is on the PC-Side, with the \u201cnormal\u201d Terminal settings you can get 115200 Baud wich is too slow. It is not a easy problem with no experience <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":-)\" \/><\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-237\" class=\"comment odd alt depth-3\">\n<div id=\"comment-237\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/0718d9eba3a0a5b48654b4a7d235b1ee?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Malte<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">21. Mai 2013 um 09:46<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hi,<\/p>\n<p>thanks for your fast reply. I found this:<br \/>\n<a href=\"http:\/\/forum.chibios.org\/phpbb\/viewtopic.php?f=3&amp;t=523\" rel=\"nofollow\">http:\/\/forum.chibios.org\/phpbb\/viewtopic.php?f=3&amp;t=523<\/a><br \/>\nBut, as i understand, thats bulk mode which is for high data rates, but not for time critical processes. But i need to transfer my \u201cprocess image\u201d every 20 ms<br \/>\nBut, maybe i give it a try.<\/p>\n<p>Maybe using hterm? Or linux.<\/p>\n<p>USB or writing a OS driver\u2026 till now uart was always suitable for my projects\u2026<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-245\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-4\">\n<div id=\"comment-245\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">21. Mai 2013 um 21:12<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>now i checked the speed with a terminal program (in a quick and dirty test) . For a block of 1024 Bytes (plus one end character) i measured a time between 3 and 4 ms. So this is in your limit. But i dont know what happend by repeating this every 20ms\u2026it\u2019s on you to test this <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":-)\" \/> To do this with my Library you have to change the size of the Receive Buffer (File=usbd_cdc_vcp.h) \u2026use this :<br \/>\n#define APP_TX_BUF_SIZE 2048<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-248\" class=\"comment odd alt thread-even depth-1\">\n<div id=\"comment-248\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/0718d9eba3a0a5b48654b4a7d235b1ee?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Malte<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">22. Mai 2013 um 08:56<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Thanks for you test. I will try to setup a linux OS an fire all 20ms a given load. I will read the data and compare it.<br \/>\nAgain, thanks for the test!<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-505\" class=\"comment even thread-odd thread-alt depth-1\">\n<div id=\"comment-505\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/306c865b1604856e094a936a4183f88f?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Peter<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">20. Juni 2013 um 21:36<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hallo,<br \/>\ndanke f\u00fcr das Demo!<br \/>\nIch verwende ein STM32F4-Discovery und Win7 x64 mit dem ST Treiber 1.3.1. Alles funktioniert bestens.<br \/>\nWenn man allerdings bei einer ge\u00f6ffneten Verbindung (z.B. Open in deinem Terminal) einen Reset auf dem Discovery ausl\u00f6st, ist der PC \u2018beleidigt\u2019. Der Ger\u00e4temanager zeigt zwar beim Loslassen des Resettasters wieder einen COM Port an, man bekommt aber keine Verbindung. Egal ob Close+Open oder Neustart des Terminals. Erst nach dem Schlie\u00dfen des Terminals, einem Reset am Discovery und einem Neustart des Terminals funktioniert der Open wieder.<br \/>\nKennt jemand eine L\u00f6sung f\u00fcr dieses Problem?<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-517\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-517\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">21. Juni 2013 um 18:29<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>ja, mein Terminal Programm ist \u201cQuick&amp;Dirty\u201d such einfach ein anderes PC-Programm mit Fehlerbehandlung <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":-)\" \/><\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-523\" class=\"comment even depth-3\">\n<div id=\"comment-523\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/306c865b1604856e094a936a4183f88f?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Peter<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">22. Juni 2013 um 10:31<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Mit Hyperterminal und ZOC habe ich das gleiche Problem. Schaut aus als w\u00e4re es ein Treiberproblem. Eine Fehlerbehandlung auf dem PC reicht wahrscheinlich nicht aus, da man das Discaovery zus\u00e4tzlich reseten muss.<br \/>\nBin weiterhin f\u00fcr Ideen und Tips dankbar.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-509\" class=\"comment odd alt thread-even depth-1\">\n<div id=\"comment-509\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/306c865b1604856e094a936a4183f88f?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Peter<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">21. Juni 2013 um 08:05<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hier noch ein Hinweis.<br \/>\nDie ST USB OTG Library hat einen bug, der bei dir evtl. noch nicht abgefangen wurde (google mal nach ep-&gt;xfer_count). Bei mir wurden Unmengen an USB Interrupts ausgel\u00f6st. Wenn du in usb_dcd_int.c nach Zeile 468 folgende vier Codezeilen einf\u00fcgst sollte das Problem beseitigt sein:<\/p>\n<p><code><br \/>\nif( ep-&gt;xfer_count &gt;= ep-&gt;xfer_len) {<br \/>\nuint32_t fifoemptymsk = 1 &lt; &lt; ep-&gt;num;<br \/>\nUSB_OTG_MODIFY_REG32(&amp;pdev-&gt;regs.DREGS-&gt;DIEPEMPMSK, fifoemptymsk, 0);<br \/>\nbreak;<br \/>\n}<br \/>\n<\/code><\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-518\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\">\n<div id=\"comment-518\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">21. Juni 2013 um 18:30<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>F\u00fcr Quellcode gibts die Code-Tags, die sollten funktionieren (ich hab die anderen Posts gel\u00f6scht) und zu dem Bug-Fix : wann kommt dieser Fehler vor mit den vielen Interrupts ?<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-524\" class=\"comment odd alt depth-3\">\n<div id=\"comment-524\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/306c865b1604856e094a936a4183f88f?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Peter<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">22. Juni 2013 um 10:46<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Beim Senden von Daten. Wegen der hohen MCU Leistung des STM32F4 f\u00e4llt das zuerst nicht auf. Bei einer zeitkritischen Anwendung kann man dann aber lange nach dem Fehler suchen.<\/p>\n<p>Im ST e2e Forum gibt es einen Beitrag dazu. Da wird auch die L\u00f6sung beschrieben. Hier ein kleiner Auszug:<\/p>\n<p>When idle I get 1000 IRQs per second, as expected (the SOF IRQ).<br \/>\nWhen transmitting about 200Kbytes\/second I get about 32,000 IRQs per second!<br \/>\nHier der Link:<br \/>\n<a href=\"https:\/\/my.st.com\/public\/STe2ecommunities\/mcu\/Lists\/cortex_mx_stm32\/Flat.aspx?RootFolder=https%3a%2f%2fmy%2est%2ecom%2fpublic%2fSTe2ecommunities%2fmcu%2fLists%2fcortex_mx_stm32%2fYet%20another%20STM32F1057%20USB%20OTG%20driver%20issue%20%28VCP%20device%29&amp;FolderCTID=0x01200200770978C69A1141439FE559EB459D7580009C4E14902C3CDE46A77F0FFD06506F5B&amp;currentviews=1235\" rel=\"nofollow\">https:\/\/my.st.com\/public\/STe2ecommunities\/mcu\/Lists\/cortex_mx_stm32\/Flat.aspx?RootFolder=https%3a%2f%2fmy%2est%2ecom%2fpublic%2fSTe2ecommunities%2fmcu%2fLists%2fcortex_mx_stm32%2fYet%20another%20STM32F1057%20USB%20OTG%20driver%20issue%20%28VCP%20device%29&amp;FolderCTID=0x01200200770978C69A1141439FE559EB459D7580009C4E14902C3CDE46A77F0FFD06506F5B&amp;currentviews=1235<\/a><\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-541\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-4\">\n<div id=\"comment-541\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">23. Juni 2013 um 14:27<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>ok, hab es in der Version 1.4 hinzugef\u00fcgt. Danke f\u00fcr den Hinweis.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-596\" class=\"comment odd alt thread-odd thread-alt depth-1\">\n<div id=\"comment-596\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/e1d872f04a06aa227c90b8430b80a94b?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Martin<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">2. Juli 2013 um 15:25<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hi,<\/p>\n<p>zun\u00e4chst vielen Dank f\u00fcr die Ver\u00f6ffentlichung deiner erarbeiteten Sachen, sie haben mir schon oft geholfen. Ich arbeite mit dem STM32F4Discovery auf Grund einer Studienarbeit. Dank der STM32F4xx_DSP_StdPeriph_Lib habe ich es auch hinbekommen die ganze Beispiele selbstst\u00e4ndig nachzuvollziehen und zum Laufen zu bringen etc. Also USART, CAN und so.<br \/>\nAls n\u00e4chstes ben\u00f6tige ich USB, deine Beispiele funktionieren wunderbar, ich hab jedoch das Problem, dass ich diese nicht einfach verwenden kann, ohne den Weg dahin zu wissen, daher habe ich versucht, \u00e4hnlich wie bei USART und CAN, dies \u00fcber die STM32_USB-Host-Device_Lib zu implementieren. Es hagelt aber massenweise Fehler und ich wei\u00df nicht, wo ich anfangen soll die Lib von STM anzupassen.<\/p>\n<p>Hast du irgend einen Tipp oder irgend eine Beschreibung, die die USB Lib besser erkl\u00e4rt, oder wie du vorgegangen bist? Ich brauch irgendwie n Ansto\u00df.<\/p>\n<p>Danke schonmal und weiter so!<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-597\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\">\n<div id=\"comment-597\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">2. Juli 2013 um 18:03<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hi, bei STM gibts beim \u201cSTM32F107RB\u201d unter \u201cDesign Resources\u201d Links auf viele Bibliotheken u.a. bei \u201cSTSW-STM32046\u2033 eine USB-Lib da ist ein Beipspiel f\u00fcr USB-VCP dabei\u2026das habe ich als Basis benutzt.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-686\" class=\"comment odd alt depth-3\">\n<div id=\"comment-686\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/e1d872f04a06aa227c90b8430b80a94b?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Martin<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">15. Juli 2013 um 13:54<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hey,<\/p>\n<p>solangsam steig ich bei der Library halbwegs durch.<\/p>\n<p>Habe aber noch eine Erkl\u00e4rfrage.<\/p>\n<p>Wei\u00dft du, wo die Funktion \u201cstatic uint16_t VCP_DataRx (uint8_t* Buf, uint32_t Len)\u201d aufgerufen wird. Dein Kommentar im Quelltext lautet dazu \u201cWird beim Empfang von einem Zeichen aufgerufen\u201d.<br \/>\nIm gesamten Quellcode finde ich jedoch kein Aufruf der Funktion. Ich hatte vermutet, dies geschieht per Interrupt oder \u00e4hnlichem, habe jedoch nichts gefunden.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-689\" class=\"comment byuser comment-author-admin_ub bypostauthor even thread-even depth-1\">\n<div id=\"comment-689\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">16. Juli 2013 um 18:42<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>uhh, sorry , k.A. das ganze USB-Thema ist sehr Umfangreich und ohne die fertigen Sourcen von ST w\u00e4re ich da nie auf einen gr\u00fcnen Zweig gekommen. Ich w\u00fcrde mal Braikpoints im File \u201cusbd_cdc_core.c\u201d setzen (da sind die DataIn\/Out-Funktionen) und schauen wann die zuschlagen.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-748\" class=\"comment odd alt thread-odd thread-alt depth-1\">\n<div id=\"comment-748\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/e1d872f04a06aa227c90b8430b80a94b?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Martin<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">5. September 2013 um 10:53<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hi,<\/p>\n<p>ich nutze Ihre USB Bibliothek.<br \/>\nBei der \u00dcbertragung PC -&gt; Mikrocontroller komme ich je nach System auf Geschwindigkeiten &gt; 200 kB\/s oder gar &gt; 300 kB\/s, je nach PC System.<\/p>\n<p>Ich bin jedoch \u00fcberrascht, dass die umgekehrte Richtung wesentlich langsamer ist ca. 110 kB\/s . Mein STM32 macht nichts anderes als in der while(1) Schleife die Funktion UB_VCP_DataTx(65); auszuf\u00fchren. Ich mess das ganze mit HTerm, da dort die Anzahl der Bytes und die vergangene Zeit angezeigt werden kann.<\/p>\n<p>Ich frage mich, ob und wie diese Geschwindigkeit verbessert werden k\u00f6nnte? F\u00fcr Ideen oder Hinweise w\u00e4re ich sehr dankbar.<\/p>\n<p>Beste Gr\u00fc\u00dfe<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-750\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\">\n<div id=\"comment-750\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">5. September 2013 um 17:51<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Sind das 110 kBit\/s oder 110kByte\/s ? Bei der CDC-LIB wird im Bulk-Mode gesendet und zwar immer 64 Bytes. Vielleicht ist der Puffer nicht ganz voll und es werden Datenbytes \u201cverschenkt\u201d \u2026 hab da aber keine gro\u00dfe Ahnung von <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_sad.gif\" alt=\":-(\" \/> Event. mal mit der Puffergr\u00f6\u00dfe spielen oder schauen wie weit der Puffer voll ist.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-796\" class=\"comment odd alt thread-even depth-1\">\n<div id=\"comment-796\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/db209a5170e4deb5489dc464b3edf461?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">andrew<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">13. September 2013 um 12:19<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hellow, please help me.<br \/>\n.\\usb5.axf: Error: L6200E: Symbol USB_CDC_STATUS multiply defined (by stm32_ub_usb_cdc.o and main.o).<br \/>\n.\\usb5.axf: Error: L6200E: Symbol USB_CDC_STATUS multiply defined (by usbd_cdc_vcp.o and main.o).<br \/>\n.\\usb5.axf: Error: L6200E: Symbol USB_CDC_STATUS multiply defined (by usbd_usr.o and main.o).<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-798\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\">\n<div id=\"comment-798\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">13. September 2013 um 18:10<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>do you have modify the \u201cdemo_31-Projekt\u201d ? looks like you have defined a second variable with the name \u201cUSB_CDC_STATUS\u201d in your code.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-799\" class=\"comment odd alt depth-3\">\n<div id=\"comment-799\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/db209a5170e4deb5489dc464b3edf461?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">andrew<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">16. September 2013 um 04:16<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>I ran your code without changes<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-800\" class=\"comment even depth-3\">\n<div id=\"comment-800\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/db209a5170e4deb5489dc464b3edf461?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">andrew<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">16. September 2013 um 05:01<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>I do not use \u201cdemo-31-project\u201d because it\u2019s my compiler KEIL<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-801\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-4\">\n<div id=\"comment-801\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">16. September 2013 um 17:53<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>ok, try this :<br \/>\n1. move this complete line :<br \/>\n<code>USB_CDC_STATUS_t USB_CDC_STATUS;<\/code><br \/>\nfrom the file \u201cstm32_ub_usb_cdc.h\u201d to the file \u201cstm32_ub_usb_cdc.c\u201d<br \/>\n(insert it beneath the include lines)<br \/>\n2. open the file \u201cusbd_usr.c\u201d and insert this line :<br \/>\n<code>extern USB_CDC_STATUS_t USB_CDC_STATUS;<\/code><br \/>\n(insert it beneath the include lines)<\/p>\n<p>and give a reply<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-803\" class=\"comment even depth-5\">\n<div id=\"comment-803\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/db209a5170e4deb5489dc464b3edf461?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">andrew<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">17. September 2013 um 04:48<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Thank you very much for your help! The project successfully assembled! Unfortunately, my computer still does not recognize my device (STM32F4DISCOVERY), it says unknown device. And WinDriver it also does not see, that is, Virtual COM ports are not created.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-804\" class=\"comment odd alt depth-5\">\n<div id=\"comment-804\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/db209a5170e4deb5489dc464b3edf461?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">andrew<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">17. September 2013 um 05:03<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>\u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0432\u0430\u0448\u0443 \u043f\u043e\u043c\u043e\u0449\u044c, \u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0438 \u0432\u0441\u0451 \u0442\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442!!!<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-832\" class=\"comment even thread-odd thread-alt depth-1\">\n<div id=\"comment-832\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/0718d9eba3a0a5b48654b4a7d235b1ee?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">malte<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">23. September 2013 um 06:56<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hallo,<\/p>\n<p>ich habe folgendes Problem, nutze allerdings das Projekt \u201cShow 01\u2033. Ich will einen Datensatz mit 4\u00d764 byte an den STM \u00fcbertragen. 64 Byte, da das ja die maximale Bytegr\u00f6\u00dfe f\u00fcr den Bulktransfer ist. Ich checke also nun in der while \u2013 schleife ob etwas im Buffer ist. Als R\u00fcckgabewert bekomme ich ja die Anzahl der Bytes.<br \/>\nNun ist es so, das ich am PC immer 64 Byte kurz hintereinander verschicke, der STM aber denkt es w\u00e4ren z.B. 128. W\u00e4re ja nicht schlimm, w\u00e4ren es eben 2 Pakete. Dumm ist aber nur, das die ersten 64 Byte richtig sind, dann kommen vielleicht 30 Byte M\u00fcll und die letzten Byte sind wieder richtig.<br \/>\nEin weiteres Problem ist, das ist kein festes Endezeichen habe, sondern mir wurde ein Frame so definiert:<br \/>\n0\u00d701 0\u00d702 Daten 0\u00d704 (Gesamtbreite 64 Byte). Jedes Datenbyte kann 0\u00d700 oder oxFF sein, also keine Asciicodierung. Vielleicht muss ich einfach mal die USB CDC Library abspecken (Endeerkennung raus und selbst parsen). Aber ich sehe halt noch das Problem mit den \u201cM\u00fclldaten\u201d. Hat hier jemand eine Idee?<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-835\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-835\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">23. September 2013 um 18:22<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>ich kann mir nicht vorstellen das \u201cm\u00fcll\u201d \u00fcbertragen wird. Entweder l\u00e4uft ein Puffer voll oder du hast irgendwo anders ein Problem. Ich hab die Lib eigentlich zum \u00dcbertragen von Strings geschrieben. Datenwerte kleiner 32dez werden rausgefiltert. Wenn du keine Endekennung hast und alle Bytewerte nutzen willst, musst du selber eine Empfangsfunktion schreiben.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-838\" class=\"comment even depth-3\">\n<div id=\"comment-838\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/0718d9eba3a0a5b48654b4a7d235b1ee?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Malte<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">25. September 2013 um 06:57<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Die Filterung \u201cAscii\u201d hab ich rausgeworfen. Dann muss ich mal weiter forschen wo da der Fehler liegt. Eine einfache Vergr\u00f6\u00dferung des Eingangspuffers von 64 z.B. auf 128 geht ja nicht, weil Windows dann den STM CDC nicht mehr erkennt.<br \/>\nAm liebsten w\u00e4re mir quasi wie in der guten AVR Welt ein Empfangsinterrupt, wo jedes mal ein Byte raush\u00fcpft. Dann k\u00f6nnte ich meinen Standardparser nutzen. Alte Zeiten\u2026<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-840\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-4\">\n<div id=\"comment-840\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">25. September 2013 um 18:12<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>die Puffer gr\u00f6\u00dfe wird im File \u201cusbd_cdc_vcp.h\u201d eingestellt mit dem Define \u201cAPP_TX_BUF_SIZE\u201d stell den mal auf 2048 und schau was passiert.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-860\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-860\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/418ba060a0a4a24bf17e1ce1c802acf6?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Robert<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">5. Oktober 2013 um 23:30<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Kann die library auch f\u00fcr andere controller angepasst werden?<br \/>\nz.b freescale kl25xx?<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-861\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-861\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">6. Oktober 2013 um 09:56<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>falls die CPU einen USB-Port hat nat\u00fcrlich, es ist doch der komplette Quellcode in \u201cc\u201d vorhanden. Allerdings muss das jemand anders machen, ich hab mich auf den STM32F4 eingeschossen.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-866\" class=\"comment even thread-odd thread-alt depth-1\">\n<div id=\"comment-866\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/04320027666eb25d80366d8ab08eaf69?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Opcode<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">8. Oktober 2013 um 19:33<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Guten Abend,<\/p>\n<p>vielen vielen Dank f\u00fcr die ganzen Tutorials und Codes ! Das Beispiel mit dem USB CDC hat bei mir auf Anhieb funktioniert !<\/p>\n<p>mfGru\u00df,<br \/>\nopcode<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-870\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-870\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">9. Oktober 2013 um 18:20<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>so soll es sein, freut mich zu h\u00f6ren<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-881\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-881\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/048b2f60b07b0eae1a04c24648673bc8?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Felix<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">14. Oktober 2013 um 14:35<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hey.<\/p>\n<p>Ich wollte mit deiner Funktion zum senden: UB_USB_CDC_SendString(char *ptr, USB_CDC_LASTBYTE_t end_cmd); die errechneten Werte eines ADC Senden. Habe dazu den Wert in einer U-int16 Variablen. Nur leider kommt bei mir nichts an, wenn ich den COM-Port mit Putty angucke. Code: UB_USB_CDC_SendString(adc_messwert, CRLF);<\/p>\n<p>Was muss ich noch tun, damit er mir den Wert sendet.<\/p>\n<p>LG Felix<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-882\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-882\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">14. Oktober 2013 um 20:52<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>du musst die Zahl zuerst in einen String wandeln !!<\/p>\n<pre class=\"brush: plain; title: ; notranslate\">include \r\nchar buf[20];\r\nsprintf(buf,\"ADC=%d\",adc_messwert);\r\nUB_USB_CDC_SendString(buf, CRLF);\r\n<\/pre>\n<p>f\u00fcr sprintf wird bei CoIDE noch die \u201cRetarget printf\u201d ben\u00f6tigt<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-1075\" class=\"comment even thread-odd thread-alt depth-1\">\n<div id=\"comment-1075\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/bb8b7fefdab208bc0c7489e315e3b46f?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Mehdi<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">25. November 2013 um 15:53<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hello,<\/p>\n<p>I have tried a lot to compile your code in linux using similar make file, include and libs from your other CDC sample. But no matter whatever I do I receive this error:<br \/>\n~\/sat\/bin\/arm-none-eabi-gcc -std=gnu99 -g -O2 -Wall -Tstm32_flash.ld -mlittle-endian -mthumb -mthumb-interwork -nostartfiles -mcpu=cortex-m4 -msoft-float -Iinc -Ilib\/Core\/cmsis -Ilib\/Core\/stm32 -Ilib\/Conf -Iub_lib -Iub_lib\/usb_cdc_lolevel -Ilib\/StdPeriph\/inc -Ilib\/USB_OTG\/inc -Ilib\/USB_Device\/Core\/inc -Ilib\/USB_Device\/Class\/cdc\/inc src\/main.c lib\/startup_stm32f4xx.s -o build\/ub_stm32f4_usb_cdc_v104.elf -Llib\/StdPeriph -Llib\/USB_Device\/Core -Llib\/USB_Device\/Class\/cdc -Llib\/USB_OTG -lm -lstdperiph -lusbdevcdc -lusbcore<br \/>\n\/tmp\/ccCc7yln.o: In function `LoopFillZerobss\u2019:<br \/>\n\/home\/mehdix\/workspace\/robotik\/ub_stm32f4_usb_cdc_v104\/lib\/startup_stm32f4xx.s:97: undefined reference to `SystemInit\u2019<br \/>\n\/tmp\/cc9pDJPB.o: In function `main\u2019:<br \/>\n\/home\/mehdix\/workspace\/robotik\/ub_stm32f4_usb_cdc_v104\/src\/main.c:27: undefined reference to `SystemInit\u2019<br \/>\n\/home\/mehdix\/workspace\/robotik\/ub_stm32f4_usb_cdc_v104\/src\/main.c:31: undefined reference to `UB_USB_CDC_Init\u2019<br \/>\n\/home\/mehdix\/workspace\/robotik\/ub_stm32f4_usb_cdc_v104\/src\/main.c:36: undefined reference to `UB_USB_CDC_GetStatus\u2019<br \/>\n\/home\/mehdix\/workspace\/robotik\/ub_stm32f4_usb_cdc_v104\/src\/main.c:38: undefined reference to `UB_USB_CDC_ReceiveString\u2019<br \/>\n\/home\/mehdix\/workspace\/robotik\/ub_stm32f4_usb_cdc_v104\/src\/main.c:43: undefined reference to `UB_USB_CDC_SendString\u2019<br \/>\ncollect2: error: ld returned 1 exit status<br \/>\nmake: *** [build\/ub_stm32f4_usb_cdc_v104.elf] Error 1<\/p>\n<p>The appropriate files are included but I can not comple. I appreciate if you can help me to compile this code.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-1079\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-1079\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">26. November 2013 um 19:50<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>uhh, sorry \u2026 i dont know what to do under linux. Perhaps you should start with a smaller Projekt like the \u201cDemo_01\u2033 to verify your build chain and the right settings.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-1417\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-1417\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/2ffcfe289acc6639815e7f10f8f8a09d?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">X_X<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">26. Februar 2014 um 11:53<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Gerade aufgefallen:<br \/>\nDie Elemente der enums USB_CDC_LASTBYTE_t und USB_CDC_RXSTATUS_t kommen sich mit der UART-Lib ins Gehege. Ein Prefix \u00e0 la \u201cCDC_\u201d schafft Abhilfe. Ggf. k\u00f6nnte man das in beiden Libs \u00fcbernehmen.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-1824\" class=\"comment odd alt thread-odd thread-alt depth-1\">\n<div id=\"comment-1824\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/98214115738080804daf1844b1efa503?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Werner<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">30. Mai 2014 um 11:01<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Die Library funktioniert am STM32F4 Discovery wunderbar. Jetzt m\u00f6chte ich aber auf das Microe Mini-M4 Board wechseln und dort bekomme ich USB nicht zum Laufen.<br \/>\nIch habe<br \/>\n* CPU auf die STM32F415RG in CooCox Target ge\u00e4ndert<br \/>\n* HSE=16000000 gesetzt weil der externe Quarz dort statt 8MHz jetzt 16MHz hat<br \/>\n* PLL_M von 8 auf 16 ge\u00e4ndert um obiges auszugleichen und trotzdem 48MHz an USB zu bekommen (Mit STM32 Clock Config Excel Tool kontrolliert)<br \/>\n* Die Software per MicroE HID Bootloader hochgeladen<\/p>\n<p>Nach einem Reset meldet sich kurz der Bootloader per USB, dann springt meine Software an aber ich bekomme keinen STM32 Virtual ComPort .<\/p>\n<p>Hat irgendjemand eine Idee was ich \u00fcbersehen haben k\u00f6nnte? Memory Mapping wegen USB Bootloader? Ein De-Init am USB bevor ich obiges USB Init in main aufrufe? Code an sich l\u00e4uft am Mini-M4 Board, UART macht was ich progrmmiert habe.<\/p>\n<p>Danke!<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-2850\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-2850\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/5da3fd1e432e7af78847cb37e2a32d6b?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">DG1RTO<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">20. Januar 2015 um 17:58<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Vielen Dank f\u00fcr diese umfassenden Werke <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":)\" \/> Bin gerade dabei zu versuchen, deine Beispiele nachzuvollziehen. Komme aus der 8Bit-Ecke (AVR). Verwende das F4-Discovery Board.<\/p>\n<p>Mit compiliertem Beispiel\u201d31\u2033 meldet sich das Board bei mir als \u201cVerbundger\u00e4t\u201d unter WIN7 64Bit an.<br \/>\nCom9 und COM10 m\u00f6chte er gern installieren (Rest ist belegt). Klappt zu Fu\u00df mit dem 1.3.1.0 ST-vcp-Treiber f\u00fcr COM9. COM10 (nat\u00fcrlich) nicht. Wie auch\u2026 COM9 wird korrekt angezeigt, Port-&gt;open mit deinem Terminalprogramm geht auch. Es l\u00e4sst sich aber nichts schreiben. (WriteFile Function failed (win error code:87))<br \/>\nIch habe auch schon versucht, COM10 danach zu \u201cdeaktivieren\u201d. ist er dann auch. COM9 l\u00e4sst sich trotzdem nicht nutzen.<br \/>\nGanz unten im Ger\u00e4temanager steht zus\u00e4tzlich immernoch \u201cUSB-Verbundger\u00e4t\u201d.<br \/>\nIch bin etwas ratlos\u2026<br \/>\nDanke! Axel<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-2851\" class=\"comment odd alt thread-odd thread-alt depth-1\">\n<div id=\"comment-2851\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/5da3fd1e432e7af78847cb37e2a32d6b?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">DG1RTO<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">20. Januar 2015 um 19:50<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Now i ran the setup \u201cdpinst_amd64.exe \u201cin the drivers folder provided by ST.<br \/>\nVersion 1.4.1. now it works. manually usb-driver installation of the recocnized board has failed.<\/p>\n<p>Ich habe die Setup.exe \u201cdpinst_amd64\u2033 im Treiberverzeichnis ausgef\u00fchrt. (Win7\/64bit)<br \/>\nVorher hatte ich versucht, die beiden seriellen Ports \u00fcber \u201ctreiber aktualisieren\u201d zum Leben zu erwecken, was nicht gelang.<br \/>\nDas zwei Ger\u00e4te angezeigt werden, sei in Ordnung.<\/p>\n<p>&nbsp;<\/p>\n<blockquote cite=\"The Device Manager should now show 2 instances of the port. Each instance corresponds to one of 2 interfaces reported by the ST library.\"><p>\u201d<\/p>\n<p>Danke und gru\u00df<br \/>\nAxel<\/p><\/blockquote>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2852\" class=\"comment even depth-2\">\n<div id=\"comment-2852\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/5da3fd1e432e7af78847cb37e2a32d6b?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">DG1RTO<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">20. Januar 2015 um 19:51<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>uups, formating failed <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":)\" \/><\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2853\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-3\">\n<div id=\"comment-2853\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">20. Januar 2015 um 21:24<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>ist das Problem jetzt gel\u00f6st oder nicht ?<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-2863\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-2863\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/7e9ba4503d74888a7ed415ee173ba2c4?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Domingo Molinero<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">22. Januar 2015 um 18:26<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hallo Uwe,<\/p>\n<p>ich bin ja ein begeisterter Benutzer deiner Bibliotheken, hat mir bei den ersten Versuche beim -Umstieg von 8- auf 32-Bit sehr viel geholfen und alles erleichtert. Daf\u00fcr ein riesiges Dankesch\u00f6n!<br \/>\nMomentan arbeite ich am USB-CDC Beispiel, um mal auszutesten, welche Datenraten m\u00f6glich sind. momentan habe ich ein Maximum von ca. 1,2MBit. Dazu sende ich von DiscoveryBoard aus alle 1ms dreimal hintereinander einen String mit 64 Zeichen L\u00e4nge. Hier treten dann allerdings schon \u00fcbertragungsfehler auf. die Strings gehen teilweise verloren. Sende ich alle 1ms nur zweimal 64 Zeichen, geht es noch glatt.<br \/>\nIch habe schon sehr viel experimentiert, l\u00e4ngere Strings, geringere Wiederholrate, k\u00fcrzere Strings schnelle Wiederholung, beides mehr, beides weniger, \u2026 . Schneller als ~135000 bytes\/s bekomme ichs nicht hin.<br \/>\nEmpfang l\u00e4uft \u00fcber HTerm, eingestellt auf 4MBit (wenn h\u00f6her, geht gar nichts mehr). Dein Terminal-Programm kommt bei mir sehr ins schwitzen, ich kann ohne Probleme verbinden und einen String senden, welcher die \u00dcbertragung startet, ab dann ist aber leider nichts mehr zu machen. Hast du vielleicht eine Idee, was da bremsen k\u00f6nnte? Ich habe andere Terminals schon versucht zu verwenden, allerdings ist oft die Baudrate, die Datenmenge oder ein fehlender Timestamp hinderlich.<br \/>\nBei Bedarf kann ich auch mal mein Projekt per Mail schicken.<\/p>\n<p>Gru\u00df,<br \/>\nDomingo<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2865\" class=\"comment odd alt depth-2\">\n<div id=\"comment-2865\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/46d4f3a37b8e10851f3fc2b3b268077c?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Markus<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">24. Januar 2015 um 00:31<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hey,<\/p>\n<p>das Problem hatte ich auch. Sobald man gro\u00dfe Datenmengen vom STM in den PC senden will, bricht die USB Verbindung zusammen und es gehen extrem viel Daten verloren.<\/p>\n<p>Habe damals lang rumexperimentiert, aber auch nicht hinbekommen <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_sad.gif\" alt=\":(\" \/><\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-3329\" class=\"comment even thread-odd thread-alt depth-1\">\n<div id=\"comment-3329\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/6569127265dfd743fb29c15dbe0d2344?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\"><a class=\"url\" href=\"http:\/\/www.eeas.cz\/\" rel=\"external nofollow\">Jan Tomlain<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">12. Juni 2015 um 11:08<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hello,<\/p>\n<p>Would be so kind and give me a little advice with the CDC project. I have succesfully using your library with no problem at all. But you have mentioned at the top of your article that you have been able to achieve about 7Mbit\/s in some other project. Now I am achieving only about 1Mbit\/s which is too low for my project and I am wondering where is the issue. When I was trying to send data faster via your lib it start to lost bytes. Is this is a problem on the side of the PC driver and its Endpoint handling in CDC mode or?<\/p>\n<p>I have also looked into the project where you have achieved about 7Mbit but I did not found any difference in the CDC lib.<\/p>\n<p>Thank you very much.<\/p>\n<p>Jan<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-3332\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-3332\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">12. Juni 2015 um 18:28<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>7Mbit\/s yes, but only in \u201creceive\u201d direction. In \u201ctransmit\u201d other people have the same problems. I can try to find a solution, give me a few days.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-3336\" class=\"comment even depth-3\">\n<div id=\"comment-3336\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/6569127265dfd743fb29c15dbe0d2344?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\"><a class=\"url\" href=\"http:\/\/www.eeas.cz\/\" rel=\"external nofollow\">Jan Tomlain<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">13. Juni 2015 um 09:48<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Thank you for your time and support. I have tried to identify the problem as well. Maybe there will be problem on the computer side, but still I am testing it with no better result. It could be also problem that the COM port driver is handling endpoint IN in small size or not so frequently. Maybe there will be some way if the device will use only 2 bulk endpoints (IN and OUT) with no CDC intelligence and handle it with libusb driver or winusb driver on the computer side.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-4193\" class=\"comment odd alt depth-3\">\n<div id=\"comment-4193\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/6569127265dfd743fb29c15dbe0d2344?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\"><a class=\"url\" href=\"http:\/\/www.eeas.cz\/\" rel=\"external nofollow\">Jan Tomlain<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">28. September 2015 um 22:40<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Please do you have something new in this issue? Thanks Jan<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-4074\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-4074\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/7e84517ee33c281f42b787f9f6cd28aa?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Sam White<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">12. August 2015 um 15:17<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>I need your help\u2026I have a great project for you to complete. I\u2019m looking for a way to emulate an USB keyboard on a windows machine using the STM32F4 discovery. If you could start a simple program to get me started would be great such as pushing a button on the stm32F4 discovery board when plugged into a PC causes the PC to read it as \u2018a\u2019 from a keyboard being pushed\u2026I would really appreciate the help\u2026thank you<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-4081\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-4081\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">16. August 2015 um 11:55<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>there is an example from \u201cst\u201d to do this.<br \/>\nhave a look at the f4 usb firmware folder from \u201cst\u201d<br \/>\nfor the \u201cUSB Device HID example\u201d<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-4082\" class=\"comment even depth-2\">\n<div id=\"comment-4082\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/5798bce88fb4f6ca62f075deb7ad1c9e?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">noone<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">16. August 2015 um 12:43<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p><a href=\"http:\/\/stm32f4-discovery.com\/2014\/09\/library-34-stm32f4-usb-hid-device\/\" rel=\"nofollow\">http:\/\/stm32f4-discovery.com\/2014\/09\/library-34-stm32f4-usb-hid-device\/<\/a><\/p>\n<p>This would be for you I think.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-4090\" class=\"comment odd alt thread-odd thread-alt depth-1\">\n<div id=\"comment-4090\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/340be7874ec43a17e500bf1ec5bc4838?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Torben<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">24. August 2015 um 09:41<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hi,<\/p>\n<p>erst einmal viele dank f\u00fcr deine vielen tollen Libs.<\/p>\n<p>Ich benutze die CDC-Lib um Messwerte vom Sensor zum PC zu \u00fcbertragen. Ich habe dabei jedoch ein kleines Problem und hoffe, dass du mir helfen kannst:<br \/>\nDer Mikrocontroller macht erst einmal ein Datenpaket von 4096Bytes voll bis es an den Computer geht. Wie kann ich das abstellen? Ich m\u00f6chte, dass die Daten asap an den Computer gesand werden, sonst kommt es dort zu unangenehmen Ruckel-Effekten bei der Darstellung.<\/p>\n<p>lg,<br \/>\nTorben<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-4091\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\">\n<div id=\"comment-4091\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">24. August 2015 um 20:27<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>das kann nicht sein, denn dann w\u00fcrde obiges Beispiel von mir gar nicht funktionieren. Was sein kann ist, das in einem zu \u201clangsamen\u201d Zyklus gesendet wird. So wie ich es noch in Erinnerung habe liegen zwischen den USB-Packeten 1ms. Glaube aber nicht das man das schneller einstellen kann. Was f\u00fcr ein Programm hast du denn auf der PC Seite ? event. hat das keine \u201cEchtzeit\u201d Priorit\u00e4t und ist aus dem Grund zu langsam.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-4156\" class=\"comment odd alt thread-even depth-1\">\n<div id=\"comment-4156\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/78c7094c40bdb724ad9ad13738c1b0d8?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Lucky1<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">19. September 2015 um 09:36<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hallo,<\/p>\n<p>erstmal Danke f\u00fcr Deine tolle Seite. Sie hat mir den Umstieg zum STM32 bis jetzt sehr erleichtert. Ich h\u00e4nge jetzt allerdings an einem Problem fest. Gibt es eine M\u00f6glichkeit mit Deiner Lib statt einen ASCII String mit 0x0D Abschlussbyte, eine Binary-Sequenz mit fixer L\u00e4nge und einer Startsequenz zu empfangen (z.B. 0xAA 0xBB 0xCC 0xDD +2048 Byte?<\/p>\n<p>W\u00e4re super wenn Du mir da helfen k\u00f6nntest.<\/p>\n<p>Lucky1<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-4161\" class=\"comment even thread-odd thread-alt depth-1\">\n<div id=\"comment-4161\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/78c7094c40bdb724ad9ad13738c1b0d8?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Lucky1<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">20. September 2015 um 21:47<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Habe wahrscheinlich die Antwort im Capture Client gefunden.<br \/>\nWerde es mal ausprobieren.<\/p>\n<p>Gru\u00df<\/p>\n<p>Lucky1<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Hier eine Library um den USB-OTG-Port am Discovery-Board im CDC-Mode zu betreiben. Damit wird beim Verbinden mit einem PC ein virtueller Comport eingerichtet \u00fcber den man (wie per UART) Daten austauschen kann. Auf der PC Seite muss der \u201cVirtualComPort-Driver von &hellip; <a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f4\/komplette-library-liste-stm32f4\/31-usb_cdc-library-stm32f4\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":144,"menu_order":31,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[128],"tags":[184,9,96,7,95,185],"class_list":["post-380","page","type-page","status-publish","hentry","category-stm32f4","tag-cdc","tag-library","tag-rs232","tag-stm32f4","tag-usb","tag-virtueller-comport"],"_links":{"self":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/380","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/comments?post=380"}],"version-history":[{"count":5,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/380\/revisions"}],"predecessor-version":[{"id":1835,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/380\/revisions\/1835"}],"up":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/144"}],"wp:attachment":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/media?parent=380"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/categories?post=380"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/tags?post=380"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}