STM32F072 USB Funktion gesucht

Gast #4694433
Lesenswert?

Hallo,

ich versuche mich gerade an einem STM32F072.
Ich will die USB Schnittstelle zum laufen bringen.

Wenn ich in Datei usb_conf.h das Define "INTERNAL_PULLUP" aus mache 
fehlt mir eine Funktion.

In USBD_Core.c wird dann nach dem Define abgefragt.
1
/* Enable the pull-up */
2
#ifdef INTERNAL_PULLUP
3
  DCD_DevConnect(pdev);
4
#else
5
 USB_BSP_DevConnect(pdev);
6
#endif


Aber wo gibt es mal ein Beispiel zur Funktion "USB_BSP_DevConnect", bzw 
was da drin stehen sollte.

Irgendwie findet keine Suchmaschine diese Funktion.

Viele Grüße, Klaus
Gast #4694455
Lesenswert?

Rein logisch gesehen wird entweder der interne Pullup gesetzt, durch 
Registereintrag, siehe dazu die Funktion DCD_DevConnect(pdev); ,
oder eben ein auf dem Board befindlicher ext. Pullup durch 
initialisieren/setzen eines Ausgangspin.
Gast #4694469
Lesenswert?

Der Widerstand ist fest eingelötet und lässt sich nicht schalten.
Den kann ich zwar raus bauen aber dann muss ich mir ganz genau ansehen 
ob der interne das selbe macht.

Ist schon Blöd da wird in einer Lib so was eingebaut, aber dann wird die 
Funktion vergessen.

Selbst wenn da nur drin steht mache nichts, wäre das wenigstens mal eine 
Aussage und der Compiler wäre nicht drüber gestolpert.

VG, Klaus
Gast #4694471
Lesenswert?

> Aber wo gibt es mal ein Beispiel zur Funktion "USB_BSP_DevConnect", bzw
> was da drin stehen sollte.

- ein 1,5 KOhm Widerstand ist mit einem Portpin und D+ (USB) verbunden
- der Portpin wird als Ausgang initialisiert, der int. PullUp 
abgeschaltet
- der Ausgang wir auf High (3,3 V) gesetzt, USB wird ein Gerät 
signalisiert
Gast #4694494
Lesenswert?

Leute, bevor Ihr hier antwortet und falsche Dinge schreibt, bitte 
erstmal das Datenblatt anschauen.

Der STM32F072 hat einen internen Pullup-Widerstand, es muss kein 
externer Widerstand eingebaut und mit irgendwelchen Portpins geschaltet 
werden.
Dieser ist sogar per Standard aktiviert und kann im Register USB->BCDR 
durch setzen von Bit 15 (DPPU, DP pull-up control) deaktiviert werden, 
um einen USB diconnect zu simulieren.

Wo das in einer der STM32-Libraries steht, kann ich nicht sagen, da ich 
grundsätzlich ohne Libraries programmiere.
Gast #4695053
Lesenswert?

Also ist in dieser nicht vorhanden Funktion anscheined das setzen von 
einem Portpin drin. Dieser soll demnach den Widerstand einschalten.
Super Funktion, besonders weil sie nirgends zu finden ist.
Mehr braucht man dazu wohl nicht sagen.

Ich werfe den externen Widerstand raus und nehme den internen.
Dann kann die Lib damit machen was sie will.

VG, Klaus
Gast #4695753
Lesenswert?

"vorbereiteten" Funktionen trifft es gut.

Ich habe ja nichts dagegen wenn man vom User speziellen Code erwartet, 
aber wenn ich schon Sachen Vorbereite dann wenigsten sauber und mit 
etwas Doku.
Aber die Jungs bei ST scheinen da nur auf schnell was raus geben zu 
arbeiten.
Schade.

Ohne Widerstand und mit den vorhandenen Funktionen arbeitet der USB nun.
Mit dem Widerstand werde ich die Tage mal testen.

VG, Klaus

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