www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USB: Endpoint EP0 für eigene Kommandos nutzen


Autor: Karlheinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann ich den Endpoint (EP0) eines USB-Geräts (hier: Mass Storage Device) 
mit eigenen Kommandos erweitern.

Idee: Der Massenspeicher-Treiber von Windows greift auf das USB-Gerät 
zu. Gleichzeitig möchte ich von einem 2. Programm aus Kommandos an das 
USB-Gerät senden. Ist dies möglich? Oder bin ich auf einem Holzweg?

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm, ich glaube das wird nicht gehen. Der Windows MSD Treiber krallt sich 
ganz bestimmt das Gerät exclusiv, und meines Wissens kann man dann nicht 
über den Control EP noch zugreifen. Aus der gleichen Anwendung heraus 
geht das natürlich, da kann man per Set Feature und Get Feature und 
Vendor Requests noch jede Menge über den Control EP machen.

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst innerhalb eines USB-Gerätes mehrere Interfaces mit 
verschiedenen Funktionen definieren.

z.B. neben dem MSD noch ein HID, wie es diese Festplattengehäuse mit 
"Backup-Taster" machen.

dann kriegt jedes Interface seinen eigenen Treiber, und die kommen sich 
nicht in die Quere.

Autor: Karlheinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Heißt das, daß das USB-Gerät neben dem MSD noch ein 2. Interface 
unterstützen muß (z. B. HID), damit Windows den entsprechenden Treiber 
lädt, den ich dann wiederum von meinem Programm anspreche?

Problem: ich habe nur noch einen Endpoint (EP3) frei und möchte senden 
UND empfangen.

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karlheinz wrote:
> Heißt das, daß das USB-Gerät neben dem MSD noch ein 2. Interface
> unterstützen muß (z. B. HID), damit Windows den entsprechenden Treiber
> lädt, den ich dann wiederum von meinem Programm anspreche?

Nein, ist nur eine Möglichkeit, wie's sehr einfach geht. du kannst 
natürlich auch auf die vorhandenen MSD+HID Treiber verzichten, und alles 
in einem eigenen Windows-Treiber machen.

> Problem: ich habe nur noch einen Endpoint (EP3) frei und möchte senden
> UND empfangen.

Das könnte schon reichen. Hab grad kein solches Plattengehäuse da, aber 
ein anderes Gerät, dort ist das zweite Interface auch HID, und das kommt 
mit nur einem Endpoint aus.

der EP0 gilt dann für beide Interfaces gleichzeitig, wie das dann im 
Detail geregelt ist musst du selber nachlesen.

Autor: Karlheinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Nein, ist nur eine Möglichkeit, wie's sehr einfach geht. du kannst
>> natürlich auch auf die vorhandenen MSD+HID Treiber verzichten, und alles
>> in einem eigenen Windows-Treiber machen.

Habe schon genug Probleme, da brauch ich mir Window nicht auch noch 
aufzuhalsen.

Du hast mich auf den richtigen Weg gebracht. Ein paar Sachen habe ich 
schon quergelesen und es sieht so aus, daß ein Endpoint ausreicht.

Vielen Dank für alle Beiträge.

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.