mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik STM32F072 USB Funktion gesucht


Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.
/* Enable the pull-up */
#ifdef INTERNAL_PULLUP
  DCD_DevConnect(pdev);
#else
 USB_BSP_DevConnect(pdev);
#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

Autor: hp-freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Urban (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: STM32 Experte (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: hp-freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
STM32 Experte schrieb im Beitrag #4694494:
> Leute, bevor Ihr hier antwortet und falsche Dinge schreibt

Klaus schrieb:
> Der Widerstand ist fest eingelötet und lässt sich nicht schalten.

Da muß der Klaus dann selbst entscheiden was in seinem Fall das Beste 
ist.

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: hp-freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
BSP -> Board spezifisch

Kann es sein das es für das Board noch eine eigene lib gibt?
Welches ist es denn?

Autor: hp-freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich in die
STM32F072B-Discovery_FW_V1.0.1
schaue, sehe ich einige von den berühmten "vorbereiteten" Funktionen die 
vom Programmierer selbst zu erstellen sind :-)

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.