Hat jemand schon mal mit dem ATMEGA32U4 die USB Schnittstelle erfolgreich benutzt? Und kann mir einen Tip geben. Ich will damit eine USB-DMX Schnittstelle ersetzen und dachte mir der Prozessor wäre doch was dafür. Und nun sitze ich dran und irgendwie finde ich keinen Anfang. DMX Senden und empfangen geht, aber bei dem USB Kram komme ich absolut nicht weiter. Der Original Code ist erschwerend auch noch in ASM und für einen Externen USB Chip gemacht. Also hier was ab schauen ist nicht wirklich möglich. Peter
Hallo, schau dir mal die Beispiele in der "Code Library" bei http://www.pjrc.com/teensy/ an Gruss Stefan
Am einfachsten dürfte es wirklich sein, du verwendest die LUFA Library. Ansonsten musst du dir schon einiges Basiswissen zu USB aneignen. Eine gute Anlaufstelle dazu ist http://www.beyondlogic.org/usbnutshell/usb1.shtml Ich habe das vor einiger Zeit getan und bin auch zu einem brauchbaren Ergebnis gekommen. Restlos alles verstanden habe ich ehrlich gesagt aber auch nicht. Gehe davon aus, dass du 1-2 Wochen damit zu tun hast bis es rund läuft, abhängig von der Komplexität der Aufgabe. Mein dümmster Fehler war, als Unicode-Format für die String-Deskriptoren UTF-8 anzunehmen anstelle von UTF-16. Das hat mich einiges an Zeit gekostet dahinterzusteigen.
Beide System Teensy & LUFA sehen interessant aus. LUFA ist so wie es aussieht ein riesiges Paket aus dem ich nur ein Bruchteil brauche. Da muss ich erst aufräumen bis ich erkenne was ich da so brauche. Besonders was zu dem Prozessor gehört und was nicht. Bei Teensy ist alles sehr kompakt, aber ob da alles dabei ist muss ich mir auch erst ansehen. Was nun das beste für mich ist kann ich erst sagen wenn ich den Code sauber vorliegen habe. Ich hoffe Du meinst mit 2 Wochen nicht 80 Stunden oder mehr. Das Hauptproblem ist halt USB zum laufen zu bringen, aber ich glaube jetzt habe ich 2 gute Ansätze zum nach sehen. Damit kann ich zumindest schon mal die Hardware testen. Ich glaube das schwerste nach USB, wird die ganze Systemkonfiguration werden. Aber da kann ich hoffentlich alles aus dem ASM Code raus lesen. Jetzt brauche ich nur noch einen Bootloader. Danke Peter
Peter schrieb: > Jetzt brauche ich nur noch einen Bootloader. Der ist per default im µC enthalten. Gruß Oliver
Oh, dann muss ich nur noch sehen wie der angeht und funktioniert. Peter
Peter schrieb: > Ich hoffe Du meinst mit 2 Wochen nicht 80 Stunden oder mehr. Ich habe 2 Wochen recht intensiv daran gesessen, aber nicht 8 Stunden am Tag durchgehend. In dieser Zeit habe ich natürlich auch recht viel zum Thema USB gelesen, wie die Spezifikationen und Beispiele für Deskriptoren. Es ist letztlich Voraussetzung, dass man versteht, was sich zwischen Host und Device im Detail abspielt bzw. abspielen kann. Es ist auch nicht völlig identisch von Host zu Host. Ein Thema für sich ist das Debugging, da sich der Programmfluss nicht einfach unterbrechen lässt um z.B. im Single-Step durchzugehen. Viele Requests haben eine maximale Response Time innerhalb der sie beantwortet werden müssen, ansonsten wird die Verbindung abgebrochen.
Das LUFA Projekt ist schon sehr groß - du brauchst da aber nichts zu löschen oder sortieren oder sonstwas. Einfach das Makefile einbinden, anpassen und es geht. Es wird nur das compiled, was du für dein Program auch brauchst. Es gibt genug Demos die zeigen was man alles machen kann. Ich hab auch den Fehler gemacht am Anfang zu versuchen alles zu sortieren und überflüssiges zu löschen. Das ging aber Nach hinten los. Einfach alles an Ort und Stelle lassen. Geht 1a!
Das Aussortieren hat für mich aber den Vorteil das ich das besser mit CodeBlocks oder Netbeans lesen kann. Ist schon immer blöd wenn man in Datein schaut die am ende nichts damit zu tun haben. So zu 100% verstehen muss ich das nicht, Hauptsache das Teil läuft. Aber ein bisschen wissen ist schon vorhanden. Aber leider nicht genug um das ohne solche Tips hin zu bekommen. Peter
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.