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.