Forum: Mikrocontroller und Digitale Elektronik Frage zu USB (synchrone Verbindung)


von Nils (Gast)


Lesenswert?

Hallo zusammen,

ich hab da mal ne Frage zu USB. Und zwar hab ich so ein Keil Board mit 
USB Anschluss, das als HIDevice konfiguriert ist. Im Moment sendet der 
alle x ms seinen Status (Knopf gedrückt ja/nein, Potentiometer 0-1200) 
Jetzt würde ich gerne nur Daten von dem Gerät bekommen, wenn auch was 
passiert ist.

Lassen wir mal das Potentiometer weg, es soll also eine Nachricht 
gesendet werden, wenn der Knopf gedrückt wurde.

while ( true )
{
  *readData = 0;
  bytesRead = myInterface.read( readData );
  if ( myInterface.buttonIsPushed( readData ) )
  {

  ...

  }
}

so mach ich das bis jetzt, nur will ich nicht jede x ms das ReadByte 
auseinanderpfriemeln. Es wäre angenehm, wenn die Anzahl der gelesenen 
Bytes 0 wären, wenn der Knopf nicht gedrückt ist und wenn er gedrückt 
ist kommt halt ne nachricht wie "11" Knopf 1 gedrückt (Länge 2).

Geht sowas mit dem HID? Oder kann ich wirklich nur zyklisch meinen 
ganzen InputReport rauspusten?

Grüße Nils

von A.K. (Gast)


Lesenswert?

Soweit ich USB verstanden habe, arbeitet es ohnehin stets mit Polling, 
d.h. es gibt keine Events vom Device zum Host, sondern der Hosts fragt 
alle Devices zyklisch ab.

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.