Hallo, hab ein paar Fragen an euch. Besitze das Stm32 Discovery Board und möchte mit deinem einem USB-Schnittstelle zum PC realisieren. In der Demo App läuft bereits ein USB HID demo ich benötige aber eine USB Verbindung um Daten auszutauschen. Weis jemand dazu den Code? Was gibt es von Seiten Windows - wie lese ich die daten dann aus? Danke! Liebe Grüße
Kerstin schrieb: > ich benötige aber eine USB Verbindung um Daten auszutauschen Das wird immer gemacht, wenn eine Verbindung besteht. Die Frage ist, was für Daten von wo und wohin und am besten noch wieviel mit welcher Übertragungsrate. Möchtest du das Discovery als Massenspeicher erkennen lassen? SD-Karte dran? Bitte ausführlicher das Problem beschreiben.
Hey, ich möchte einfache Integer Pakete an den PC senden. Es gingen auch Strings. Möchte eine RGB Matrix am PC simulieren. lg
wie wäre es mit Bytes? Schau mal nach STM32F4 VCP (virtual Com Port). Das ist das, was du brauchst. Hier ein funktionierendes Beispiel: http://www.coocox.org/forum/topic.php?id=1757&page=2 Edit: In Windows dann einfach die "Daten" mit PuTTy oder Hyperterminal rüberschicken und lesen.
Ja, das is ja auch mein Plan nur bekomme ich Kompilierfehler wenn ich die USB Bibliothek verwenden möchte. USB_OTG_CORE_HANDLE USB_OTG_Core_dev; USBH_HOST USB_HOST; USBD_Init(&USB_OTG_Core, USB_OTG_HS_CORE_ID, &USR_Host, &USBD_MSC_cb, &USR_MSC_cb); hab die standardlib von IAR Workbench mit dem STM32F4 Discovery example geladen.
hmm...die IDE kenne ich jetzt nicht, scheint aber einen eigenen Compiler zu verwenden und nicht die gnu-arm compiler wie z.B. Atollic oder Coocox. Ich kann dir eigentlich nur Coocox ans Herz legen. Das Beispiel von oben funktioniert damit problemlos und dürfte deine Probleme lösen. Wenn du von der IAR Workbench nicht weg kannst, bleibt dir wohl nur eins: Selber umstricken!
um den compiler gehts nicht ich hab die standard lib von stm für das discovery board und möchte diese ansprechen. ich kenn mich mit der funktion usbd_init nicht aus. kann mir da jemans helfen.
Aus https://github.com/UweBonnes/blackmagic.git kannst Du mit nach Lesen und befolgen des READMEs mit make PROBE_HOST=f4discovery eine "Black magic debug probe" fuer das F4 Discoveryboard bauen. Da ist auch ein ADCACM Modem dabei. Einfach den unnuetzen Code rauswerfen und eigenes ergaenzen.
Hallo, weiß jemand, wo die Dateien im Ordner usb_cdc\CDC herkommen? Muss man die Selbst programmieren? Moritz
Hallo, ich bin nun etwas weiter. Ich habe nun die Firmware für das STM32F4 Discovery heruntergeladen im Ordner STM32F4-Discovery_FW_V1.1.0\Libraries\STM32_USB_Device_Library\Class\cdc befinden sich die cdc files. Dann habe ich ein template Projekt in der IAR Workbench IDE erstellt und folgenden code eingebaut: http://mcu.cz/comment-n2800.html danach habe ich die vcp treiber 64 bit und 32 bit installiert benutze win 7 64 bit. jedoch eine 32 bit IDE Der Code baut nun und linkt. Ich habe folgende Präprozessor flags gesetzt: USE_STDPERIPH_DRIVER STM32F4XX USE_ULPI_PHY USB_OTG_FS_CORE USE_USB_OTG_FS bei den drei USE_ULPI_PHY USB_OTG_FS_CORE USE_USB_OTG_FS weis ich nicht was sie tun. weis das jemand von euch? Sobald ich den USB Stecker in meinen PC einführe, erscheint folgende Meldung( Anhang) was kann ich nun tun ?? Bitte helft mir.
Hallo, also ich hab es unter CoIDE so gemacht: 1.) den Ordner usb_cdc aus dem Projekt [CoIDE]_USB_CDC_Example von oben in mein Projekt kopiert 2.) dann einen Ordner STM32F4Discovery im Projekt anlegen und da die Ordner Libraries/inc und Libraries/src rein kopiert (auch aus dem Projekt von oben) 3.) dann die usb_cdc_vcp.h eingebunden 4.) zu den Include-Pathes der IDE folgende hinzugefügt: 4a.) usb_cdc/cdc 4b.) usb_cdc/stm32_usb_device_library/class/cdc/inc 4c.) usb_cdc/stm32_usb_device_library/core/inc 4d.) usb_cdc/stm32_usb_otg_driver/inc 4e.) stm32f4discovery/inc 5.) dann den Code in main geschrieben. Hoffe das hilft euch ein bisschen weiter. :) wieso beide treiber installiert? wenn du win 7 64bit hast reicht doch der 64bit treiber. der IDE dürfte das egal sein. Moritz
DSanbke werde ich gleich ausprobieren. Hast du das Discovery Board an dem USB Betrieben oder mit einem externen Netzteil versorgt. lg
Hallo, ich hab das Discovery Board über USB versorgt (Mini USB zum Debuggen). Moritz
Hi Danke Dir, nun läuft alles (USB) mit dem CooCox nun hab ich den adc eingebunden die toolchain eingestellt und bekomme soclh eine Fehlermeldung nach dem build? GCC HOME: C:\Program Files (x86)\GNU Tools ARM Embedded\4.7 2012q4\bin compile: [mkdir] Skipping D:\Kerstin\Desktop\USB_VCP_01.02_13\USB_VCP\USB_VCP\Debug\bin because it already exists. [mkdir] Skipping D:\Kerstin\Desktop\USB_VCP_01.02_13\USB_VCP\USB_VCP\Debug\obj because it already exists. BUILD FAILED Output filename conflict: stm32f4xx_rcc.o would be produced from D:\Kerstin\Desktop\USB_VCP_01.02_13\USB_VCP\cmsis_lib\source\stm32f4xx_r cc.c and stm32f4xx_rcc.c Total time: 0 seconds Was kann ich da tun? Hab die aktuelle Version 1.7.0
Hallo, hast du vllt. in der CoIDE unter Responsibility die Lib RCC eingebunden? Nimm die da mal raus, dann sollte es funktionieren. Die kommplete Stdlib hab ich in mein Projekt reinkopiert. Moritz
Hallo, unter View -> Repository. Da sollten nur zwei Häkchen sein bei CMSIS BOOT und M4 CMSIS Core, weil sonst die Std-Lib zweimal eingebunden wird. Moritz
Hi hab die RCC deswegen da drinnen weil ich noch die GPIO und die ADC eingehakt habe. wenn ich alle unter ST periphal libs raushänge gibt es Linkerfehler?
Hallo, die STM32F4 Std-Lib habe ich komplett in das Projekt reinkopiert. Das ist der Ordner STM32F4xx_StdPeriph_Driver. Wenn mann jetzt noch dazu unter Repository RCC, GPIO und ADC auswählt dann sind die Dateien doppelt vorhanden und es gibt den Fehler. Wenn du die Häkchen wieder weg machst musst du unter Configuration -> Compile -> Defined Symbols das Symbmbol USE_STDPERIPH_DRIVER wieder hinzufügen, da die CoIDE das entfernt. Moritz
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.