Forum: Compiler & IDEs AVR32 UC3A Wie feststellen, ob über USB mit Spg. versorgt?


von Billy _. (slowflyer)


Lesenswert?

Wie kann man feststellen, ob am VBUS-Pin (Device Appl. EVK 1100) des 
UC3A USB-Versorgungsspannung anliegt ohne zusätzlichen Portpin zur 
Detektion anzuschliessen?

Ich habe da in der usb_drv.h ein Macro gefunden:

#define Is_usb_vbus_high() (Tst_bits(AVR32_USBB_usbsta, 
AVR32_USBB_USBSTA_VBUS_MASK))

Ein Blick ins Datenblatt (S. 544) sagt:
• VBUS: VBus Level
Set/cleared by hardware and reflects the level of the VBus line, even if 
USBE = 0.

Wenn ich das Board am USB angeschlossen habe und in meiner Init-Routine 
die Abfrage mache:

if (Is_usb_vbus_high())
{
  gpio_clr_gpio_pin(LIFE_LED);
}

führt er die Anweisung (clr) nicht aus.

Hab ich da was falsch verstanden? Muss vorher noch was anderes 
konfiguriert werden? Ideen und Ratschläge sind willkommen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Ich kenne den UC3A nicht, aber wenn der USB-Makro dort der gleiche
ist wie im AT90USB1287, dann muss man wohl das VBUS-Pad (das beim
'1287 als "OTG Pad" falsch benannt ist) vorher aktivieren.

von Billy _. (slowflyer)


Lesenswert?

Danke Jörg! Hab ich gestern Abend ausprobiert und in der Tat, es ist 
genauso. Jetzt erkennt er auch VBUS.

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
Noch kein Account? Hier anmelden.