PC - USB - ATmega (ohne Extra-Treiber)

Gast #5424743
Guten Abend,

ich suche eine Möglichkeit Daten vom PC über USB (CDC, HID???) auf den 
ATmega und zurück zu übertragen. Vor mir liegt aktuell ein ATMega32U4 
mit integrierter USB-Hardware, anderer AVR wäre möglich.

Wichtig ist mir:
- am besten keine Extra-Treiber (Windows) nötig, oder zumindest welche 
die "einfach funktionieren"
- Gerät eindeutig identifizierbar (das Gerät muss nicht meinen Namen 
tragen aber die verwendete Software/Script soll das USB-Gerät 
selbstständig finden können), wenn ich an mein USB-UART-Adapter (FTDI) 
denke, ist nach dem Anstecken mal COM7, oder COM8, wie's gerade Bock 
hat...
x Geschwindigkeit ist zweitrangig

Wenn ich Google und die Forum-Suche bemühe falle ich immer wieder über:
USB - FT232RL - ATMEGA
USB - ATMEGA mit Hardware-USB (Beispiel von Atmel)
USB - ATMEGA mit Firmware-USB (V-USB, LUFA)

Hier und da fällt noch libusb.

Zugegeben ich hab den Überblick verloren.
Was ist unkompliziert umzusetzen? Wie sind eure Erfahrungen?
#5424762
Komplett ohne Treiber geht's nur mit HID. Ich finde dafür den CP2110 
(nicht 2102/4) ganz nett. Brauchst nur die mitgelieferte dll und dann 
kannst du ohne Treiber mit einfach read und write Funktionen damit 
kommunizieren. Für den uC ist es einfach nur ein uart
#5424786
TomTom schrieb:
> - am besten keine Extra-Treiber (Windows) nötig, oder zumindest welche
> die "einfach funktionieren"

Entweder HID (wenn es langsam, <64kByte/sec sein darf) oder man schaut 
sich bei libwdi um. Dort ist IIRC auch der Teil dokumentiert wie man 
WinUSB.sys mit modernem Windows (8+) automagisch laden kann.
#5425262
Das ist richtig, aber ist das unter aktuellem Windows 10 noch immer ein 
Problem? Wenn ich mir so die Politik von Microsoft anschaue, sollte sich 
die weite Verbreitung von älteren Versionen doch bald erledigt haben...?
Gast #5425315
Fred R. schrieb:
> Du bist nicht rein zufälligerweise der Selbe?
Nö, bin nicht ich.

S. R. schrieb:
> Timmo H. schrieb:
>> Komplett ohne Treiber geht's nur mit HID.
>
> Das sollte mit CDC-ACM aber auch problemlos funktionieren.

Ab Windows 7. CDC-ACM? Hab ich bisher noch nie was davon gehört, was ist 
das genau?

Selbst wenn nur ne *.inf installiert werden muss, das wäre ja super

Ich fasse mal schnell zusammen und guck's mir genauer an:
- CP2110 (ist der eindeutig adressierbar?)
- FT232RL mit EEPROM für Seriennummer (der Chip hat doch selbst ein 
bisschen speicher, braucht man den eeprom unbedingt?)
- ATMega32u4 mit CDC-ACM, libwdi
#5425318
TomTom schrieb:
> Ab Windows 7.

Wenn du bereit bist, eine INF-Datei beizulegen, dann ist das kein 
Problem.

> CDC-ACM?

Das sind Kommunikationsgeräte (Communications Device Class), speziell 
Modems. Da fallen normale USB-Seriell-Wandler drunter.

> Hab ich bisher noch nie was davon gehört, was ist
> das genau?

Genau das, was du brauchst, wenn du UART kannst und USB willst. ;-)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 8 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.