USB mit dem AT90usb1287

Gast #2363914
Lesenswert?
• ▲
▼
Hallo zusammen

ich hoffe ihr könnt mir da weiter helfen :)

Ich hab jetzt ein ATMEL usbkey2 mit den controller AT90USB1287.

und würde gerne mit dem Controller ein paar zeichen an meine pc 
schicken.

aber ich hab keine ahnung mit der Initalisierung wie das funktioniert da 
gibt es so viele register und so.

das ist um einiges schwieriger als UART das ist ja einfach :)

So zu meiner frage kann mir jemand ein ganz einfaches programm geben mit 
einer initalisierung.

ich wäre euch sehr dankbar

weil im Web hab ich nicht wirklich was gefunden nur große die ich nicht 
verstehe.

danke für die mühe
Gast #2364777
Lesenswert?
• ▲
▼
Die beispiel programme sind ja ganz nett.

aber die sind teilweise ja auch recht groß und mit jeder menge von 
header und source cods

am liebsten wäre mir eine wo nur eine usb.h eine usb.c und eine main 
code gibt wo "nur" die einzelen register geschaltet werden und zwei 
funktionen gibt wie zb. zeichen schicken und zeichen holen.

das ist leichter für das verständnis

gruß michi
Moderator Persönliche Seite #2364801
Lesenswert?
• ▲
▼
michi schrieb:
> am liebsten wäre mir eine wo nur eine usb.h eine usb.c und eine main
> code gibt wo "nur" die einzelen register geschaltet werden und zwei
> funktionen gibt wie zb. zeichen schicken und zeichen holen.

So einfach ist USB leider nicht.

Praktisch ist es so, dass man die komplette Funktionalität eines
USB-Devices bereits fehlerfrei am Laufen haben muss, damit man nur
erst einmal hinter die sogenannte Enumeration seitens des Hosts
kommt.  Dieser Prozess fragt vom Device allerlei sogenannte
Descriptoren ab um herauszufinden, um was für eine Art Device es
sich handelt.  Für ein CDC schließt das auch solche Dinge ein, wie
das Aufteilen eines Transfers von mehr als 64 Bytes in zwei Pakete,
weil einer der Descriptoren zwangsweise so groß ist, dass er nicht
in 64 Byte hineinpasst.

Erst, nachdem das alles gelaufen ist, akzeptiert der Host das Device,
und dann kann man mit der eigentlichen Datenübertragung beginnen.  Die
Routinen dafür sind jedoch zu diesem Zeitpunkt bereits alle da, denn
die braucht man schon zum Übertragen der Descriptoren selbst.

Ich habe seinerzeit mal versucht, ein minimales Beispiel für ein CDC
zu schreiben, das ohne vielfälte Abstraktionsschichten arbeitet.  Das
kannst du im Rahmen des µracoli-Projekts finden.  Dieses Projekt ist
zwar eigentlich primär für die Ansteuerung der Atmel-Transceiver für
IEEE 802.15.4 gedacht, aber die USB-Funktionalität solltest du wohl
auch so benutzen können.
Gast #2364817
Lesenswert?
• ▲
▼
Ok Ok jetzt wird mir langsamm alles klar das des mit den USB etwas 
größerer aufwand ist :(

naja da muss ich mich halt durch kämpfen

tut mir leid wenn ich jetzt so blöd frage aber wo finde ich das 
µracoli-Projekts

gruß
Gast #2365525
Lesenswert?
• ▲
▼
Hallo,

noch ein kleiner Hinweis:

Schau mal bei "Teensy" (http://www.pjrc.com/teensy/)
dort gibt es in der Bibliothek kleine Beispielprojekte meist nur aus 2 
oder 3 Quellcodefiles die auch für den AT90usb1286 compilierbar sind und 
eventuell mit kleinen Änderungen für AT90USB1287.

Diese Files stammen teils aus LUFA oder haben dort Eingang gefunden.
Die "Projekte" sind gut erklärt und beinhalten auch Beispielprogramme, 
Treiber für den PC.

Gruss Stefan

Antwort schreiben

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.

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.