USB-USART mit NUCLEO-F103RB - wie Anschließen?

OP #6675378
Lesenswert?

Moin, ich bin gerade dabei mich mit den STM32-Mikrocontrollern 
anzufreunden. Bisher nur 8-Bit-AVR in Assembler. Nun was neues und C.

Ich habe ein NUCLEO-F103RB und mit der STM32CubeMX IDE habe ich die 
ersten Schritte gewagt. Blinkende LED, Interrupt-Auswertung des blauen 
Tasters und ein 16x2 LCD mit Huckepack I2C-Controller waren meine ersten 
kleineren Einstiegsprojekte.

Nun soll es mit der Datenübertragung via USB weitergehen. Wenn ich das 
NUCLEO-Board anstecke, dann wird auch ein virtueller COM-Port angelegt. 
So wie ich das bisher sehe, ist dieser aber nicht vom Mikrocontroller 
aus ansprechbar, sondern wird vom ST-Link-Boardabschnitt bereit 
gestellt. Wozu auch immer?

Ich habe dieses Turotial 
https://controllerstech.com/send-and-receive-data-to-pc-without-uart-stm32-usb-com/ 
verwendet, um erst einmal nur Daten zu senden. Aber über die bisherige 
virtuelle Schnittstelle kommt nichts.

Laut Datenblatt sind die Anschlüsse PA11 und PA12. Kann ich da einfach 
ein USB-Kabel anschließen? Und muss dann auf dem Board noch X3 bestückt 
werden.


Gruß
Holger
Gast #6675417
Lesenswert?

>Kann ich da einfach ein USB-Kabel anschließen?
nein. DP braucht noch einen 1,5kOhm nach 3,3V
>noch X3 bestückt
ich bin grad etwas faul, das für dein nucleo rauszusuchen. Orientiere 
dich an der CUBE_MX Takte-Unterseite.
OP #6675811
Lesenswert?

Moin,

vielen Dank für die Info. Mit dem Hinweis habe ich etwas gesucht und 
habe nun die korrekten Verbindungen.

Quarz X3 braucht man in diesem Fall nicht.

Ich habe ein USB-Verlängerung abgeschnitten und zum Glück durchgemessen. 
Die Farben sind rot/schwarz/weiß/blau für + 5 V/D+/D-/GND.

Die D+ und D- habe ich jeweils über 22 Ohm an PA12 und PA11 
angeschlossen. Dann D+ über 1,5 KOhm an +3,3 V. GND auf GND.

Die +5 V vom PC über eine Diode an +5 V wird nur bei externer 
Spannungsversorgung des NUCLEO-Bords benötigt. Ich nehme die 5 V aus dem 
ST-LINK. Also die 5 V vom PC-seitigen USB-Kabel sind in meinem Fall 
jetzt nirgends angeschlossen.


Gruß
Holger
OP #6675900
Lesenswert?

Stefan ⛄ F. schrieb:
> Der USB-UART Adapter des ST-Link ist mit USART2 vom Mikrocontroller
> verbunden. Siehe http://stefanfrings.de/stm32/stm32f1.html#usart

Aha. Dann werde ich mich mal daran machen, die Daten von einem Port auf 
den anderen zu schaufeln und umgekehrt (Übung). Momentan klappt über 
PA12/PA11 die Eingabe und die 1:1 Ausgabe. Mein Ziel ist es, drei 
Schnittstellen miteinenader zu verknüpfen. Das was über eine 
Schnittstelle reinkommt, soll 1:1 dann an die beiden anderen ausgegeben 
werden.

Input 1: Output 2/3
Input 2: Output 1/3
Input 3: Output 1/2


Wie funktioniert das eigentlich mit den Baud-Einstellungen? Momentan 
sieht das so aus, als ob der STM32 alles automatisch erkennt.
Gast #6675908
Lesenswert?

Holger D. schrieb:
> Wie funktioniert das eigentlich mit den Baud-Einstellungen? Momentan
> sieht das so aus, als ob der STM32 alles automatisch erkennt.

Du meinst vermutlich den virtuellen COM Port von USB CDC, der hat 
tatsächlich keine Baudrate. Die Übertragungsgeschwindigkeit wird vom USB 
bestimmt. Was du hierbei im Terminalprogramm einstellst, spielt keine 
Rolle.

Bei USART <-->  USB-UART Adapter hast du natürlich eine bestimmte 
Baudrate auf der "echten" seriellen Schnittstelle. Die wird nicht 
automatisch erkannt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren