Hi zusammen, ich wollte mal einen Einstieg in USB mit dem ATMega32U2 wagen, finde aber nichts hilfreiches im Netz. Kennt jemand Links oder Beispielcode mitteilen, der mir helfen könnte? Ich werde mir LUFA natürlich auch anschauen, aber will trotzdem die grundlegenden Sachen verstehen. Schöne Grüße, Max
Code und Tutorials gibts genug. Schau doch mal unter "Documents" bei Atmel unter den µCs. Wenn du auf der Seite dann nach USB suchst (Textsuche) dann bekommst du einige Beispiele. Auch mal die ASF checken!
>aber will trotzdem die grundlegenden Sachen verstehen. Dann wirst du hier bestens informiert: http://www.usb.org/home
AVR4903: ASF - USB Device HID Mouse Application AVR4904: ASF - USB Device HID Keyboard Application AVR4960: USB Host Android Accessory AVR153: USB PC Drivers Based on Generic HID Class AVR272: USB CDC Demonstration: UART to USB Bridge, on megaAVR with USB etc.
Danke für die schnellen Antworten ;-) =) Damit habe ich erstmal ne Menge Lesestoff ;-) Schöne Grüße, Max
Mal abgesehen vom Speicherbedarf, erzeugt LUFA einen großen CPU-Zyklus Overhead? Ich muss einfach nur kontinuierlich mit etwa 0.1 MByte/s Daten vom PC empfangen und habe dafür nicht sehr viel "Zeit".
>ich wollte mal einen Einstieg in USB mit dem ATMega32U2 wagen, >Ich muss einfach nur kontinuierlich mit etwa 0.1 MByte/s Daten >vom PC empfangen und habe dafür nicht sehr viel "Zeit". Achso. Dann empfehle ich dir einen ARM mit USB.
holger schrieb: > Achso. Dann empfehle ich dir einen ARM mit USB. Hab aber (vorerst) nur eine ATMega32U2 da. Und damit würde ich das ganze gerne zum laufen bringen. Oder sollte das heißen, dass das mit dem ATMega32U2er nicht zu machen ist?
Wenn keine sehr aufwendigen Nebensachen laufen ist das machbar. Gehe jetzt mal davon aus das du 16 MHz an Clock hast macht 16.000.000 / (100*1024) = 156 "Befehle" für die Verarbeitung eines Bytes, das sollte zu machen sein. Wenn du noch weitere Fragen hast hier melden, wenn ich Zeit habe kann ich evtl. ein paar Fragen beantworten, da ich ein System mit AT90USB am laufen habe, welcher ja quasi der gleiche Controller ist. Wovon ich keine Ahnung habe, ist die PC seite. Da hatte ich eine Lösung bekommen. Habe den Link hierauf mal in die Lesezeichen geparkt.
Max TBA schrieb: > ch muss einfach nur kontinuierlich mit etwa 0.1 MByte/s Daten > vom PC empfangen und habe dafür nicht sehr viel "Zeit". Empfangen ist das eine, aber irgendwas willst du mit dieser Datenmenge sicher auch anstellen. Dort könnte schnell der Engpass entstehen.
Danke schonmal =) Ich schreibe die Daten nur in ein Array, was sehr wenige Zyklen brauche. Byte empfangen und an Pointerposition schreiben -> Pointer eins weiter schieben -> loop. Ich habe das VirtualSerial mal als Vorlage benutzt und werde morgen oder übermorgen (wenn der Atmega hoffentlich ankommt) mal testen können, obs so klappt. Gibt es bei LUFA interrupts für den Empfang von Daten(Bytes)? Ich habe nämlich Angst, dass einzelne Bytes verloren gehen, wenn ich nicht alle 150 Zyklen das empfangene Byte auslese. Nächtliche Grüße, Max
Ohne jetzt hier Werbung machen zu wollen: Über den Link http://produkte.reworld.eu/u2dil.htm landest Du auf einer Seite, die nicht nur ein AT90USB162/ATMEGA32U2-Modul beschreibt, sondern auch eine Sammlung funktionierender Beispiele zum Download anbietet. Die Beispiele wurden mit AVR-Studio 4.18 entwickelt, sollten aber auch mit dem aktuellen Atmel Studio 6 funktionieren.
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.