www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik V-USB hid-data: Daten ohne Aufforderung an den PC schicken


Autor: Nils ‫‪ (n-regen)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: ado (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, die Kommunikation wird bei USB immer vom HOST initiert.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Christian Hunke (thunder2002) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Nils ‫‪ (n-regen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt es also eine Möglichkeit, die Reports, die V-USB HIDs zur 
Datenübertragung nutzen, ohne Aufforderung zu senden?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Christian Hunke (thunder2002) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Chris R. (hownottobeseen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

vielleicht lohnt es sich, den Quelltext des USB IR Remote Receiver 
anzusehen. Dort werden die Empfangenen Codes per Interrupt Transfer zum 
Host übertragen.

Autor: Potter S. (potter68)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.