V-USB hid-data: Daten ohne Aufforderung an den PC schicken

OP #1814458
Lesenswert?

Hallo!

Gibt es eine Möglichkeit, das Beispielprogramm hid-data von V-USB so 
anzupassen, dass es von selbst (ohne Anfrage vom PC) Daten an den PC 
sendet?
Ich möchte mit einem PC-Programm darauf reagieren, wenn ein Taster am 
AVR gedrückt wird, würde es aber gerne vermeiden, dauernd den Zustand 
des Tasters abfragen zu müssen.
Persönliche Seite #1814754
Lesenswert?

Rufus t. Firefly schrieb:
> Auf USB-Ebene trifft die Aussage von "ado" zwar zu, aber nicht auf
> Anwendungsebene. Eine Tastatur, auch wenn sie über USB angeschlossen
> ist, muss nicht vom Anwendungsprogramm aktiv abgefragt werden.

Jein, das macht dann halt der Treiber, aber das Grundproblem bleibt das 
selbe, es geht immer nur vom Host, in dem Fall der PC, aus.
Gast #1814756
Lesenswert?

>Ich möchte mit einem PC-Programm darauf reagieren, wenn ein Taster am
>AVR gedrückt wird, würde es aber gerne vermeiden, dauernd den Zustand
>des Tasters abfragen zu müssen.


>Auf USB-Ebene trifft die Aussage von "ado" zwar zu, aber nicht auf
>Anwendungsebene. Eine Tastatur, auch wenn sie über USB angeschlossen
>ist, muss nicht vom Anwendungsprogramm aktiv abgefragt werden.

Der Tastendruck betrifft dann aber alle Programme. Ich glaube nicht das
er das möchte.
Persönliche Seite #1814762
Lesenswert?

Nils ‫‪ schrieb:
> Gibt es also eine Möglichkeit, die Reports, die V-USB HIDs zur
> Datenübertragung nutzen, ohne Aufforderung zu senden?

Ich kenne V-USB's HID Implementierung nicht. Aber im Grunde könntest du 
(falls du Windows nutzt) einen Keyboard Hook registrieren und auf deine 
(Steuer)zeichen lauschen. Das ist quasi ein Callback, falls dir der 
Begriff was sagt, also eine Methode die immer aufgerufen wird wenn über 
eine angeschlossene Tastatur eine Eingabebefehl reinkommt. Je nachdem in 
welcher Sprache du programmierst, das geht auch z.B. in höheren Sprachen 
wie C# noch.
#1822759
Lesenswert?

Hallo Nils,

keine Ahnung ob ich Deine Frage richtig verstanden habe. Aber ich glaube 
sie stellt sich garnicht.

Der Host fragt Dein HID-Gerät alle 1 ms ab, und prüft, ob neue Daten 
vorhanden sind (ob Du das willst oder nicht). Also schreibst Du einfach 
(z.B. bei einem Tastendruck) den Datenpuffer deines Endpunktes voll und 
der Host erledigt den Rest. Sind keine Daten im Puffer wird auch nichts 
übertragen.

Gruß Ralf

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren