Ich verstehe die Doku von Atmel so, dass der ATmega32u4 mit vorinstalliertem Bootloader geliefert wird, mit dem ich wiederum Firmware flashen kann. Wenn meine Firmware drauf ist, möchte ich den USB Port gerne wie einen FT232 benutzen. Das kann der Bootloader bar nicht, oder doch? Kann mir jemand helfen, einzuschätzen, wie Aufwändig die Programmierung ist? Muss ich dazu nur ein paar Register initialisieren, oder steckt da mehr hinter?
Nein das kann der Bootloader nicht und warum sollte er auch? Wenn du dein Programm geflashed hast willst du doch sicher, dass dein Programm ausgeführt wird und nicht weiterhin der Bootloader. Es kann immer nur eines von beidem gleichzeitig laufen. Was du wohl willst ist ein CDC Device/Virtual COM Port, welches sich z.B. mit der LUFA Library bewerkstelligen lässt. Nehm einfach das entsprechende Beispielprojekt, lösche das Zeug was du nicht brauchst und bau deinen Code drumherum.
Danke für die Stichworte, nun wieß ich wonach ich suchen muss. Ich hatte mir das so vorgestellt, dass die USB Schnittstelle des AVR möglicherweise ganz alleine arbeiten kann (wie ein externer USB-UART), wenn sie erstmal entsprechend initialisiert ist. Und diese Initialisierung könnte ggf. der Bootloader erledigen. Naja, schön wärs. Träumen darf man doch noch, oder?
am einfachsten gehts mit der usb_serial lib von PRJC: https://www.pjrc.com/teensy/usb_serial.html damit musste nur usb_init() aufrufen und kannst dann Ddten senden und empfangen. gruß christian
wenn der AVR wie ein usb-uart wandler arbeiten soll, dann musst du natürlich auch noch die serielle schnittstelle des AVR initialisieren und die daten durchreichen in etwa so: usb_put_char( uart_get_char() );
Dass ich separate Funktionen zum Senden und Empfangen aufrufen muss war schon klar. Ich will ja nicht einen der "echten" seriellen Ports ansprechen. Es sollte nur prinzipiell genau so einfach sein. Dir von Dir genannte Library sieht auf den ersten Blick vielversprechend aus, scheint genau das zu tun, was ich mir so vorgestellt hatte. Dann werde ich mir mal einen Arduino Micro Clone besorgen und es ausprobieren. Besten Dank dafür
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.