Hallo,
ich habe mir mal die Firmware USB Keyboard vom teensy Projekt
heruntergeladen und etwas damit herumgespielt und eine eigene
Hauptschleife gebastelt. Soweit ist das ganz toll. Bespielsweise wird
per Knopfdruck ein Text an den PC gesendet.
Im Moment hänge ich allerdings an einem Problem, bei dem ich nicht so
recht weiß wie ich vorgehen soll.
Die Hauptschleife besteht aus einem Teil ("USB-Teil"), welcher immer
dann ausgeführt werden soll, wenn mein Board per USB angeschlossen wird
und einem Teil der ausgeführt werden soll, wenn das Board nicht per USB
("Nicht-USB-Teil") angeschlossen ist.
Ziehe ich das Board vom USB ab und schalte es dann ein, so wird
ordnungsgemäß der "Nicht-USB-Teil" ausgeführt. Stecke ich nun das Board
an den USB, dann wird ordnungsgemäß der "USB-Teil" ausgeführt. Zeihe ich
nun das Board wieder vom USB ab, dann bekommt dies das Board
offensichtlich nicht mit, da weiterhin der "USB-Teil" ausgeführt wird.
Meine Frage ist nun, ob jemand Erfahrung damit hat, wie beim teensy ein
"externer detach" registriert werden kann? Zum Einsatz kommt ein
selbstentwickeltes Board auf Basis eines AT90USB82.
An diesen ist eine 2-farbige LED angeschlossen. Die grüne LED leuchtet
im Falle der Ausführung des "USB-Teil", die andere LED im Falle des
"Nicht-USB-Teil".
Im Datenblatt habe ich gelesen, dass es ein Bit "Detach" gibt, dass man
setzen kann um den Controller physikalisch vom Host zu trennen. Einen
Interrupt/Mechanismus der anzeigt, dass das Board gerade vom USB
abgezogen wurde konnte ich leider nicht finden.
Kann mich jemand in die richtige Richtung schubsen?
Gruß
Benny
Hi Benny, so ein ähnliches Problem hatte ich auch. Da ich aber etwas wenig Zeit hatte und auch etwas faul war, habe ich einfach geprüft ob der USB Port strom liefert oder nicht und es auf einen IO pin gelegt. Gruß Daniel
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.