Ich bastle seit ein paar Tagen mit dem AT90USB1287 herum und weiss nun auch endlich, was ich machen will :P Nun möchte ich die Kommunikation mit dem PC so einfach wie möglich sein. Ich habe mir den Code von Atmel angesehen und das CDC-UART-USB-Teil soweit von allen Host-Features und Board/STK-spezifischen Sachen befreit, dass ich da auch einnigermassen durchsteige, aber alles in allem ist mir das viel zu gross und aufgebläht, nur um einen virtuellen COM-Port zu haben... Dann habe ich mich mal an den Code von hier gesetzt und mir den Code von http://www.ssalewski.de/AT90USB_firmware.html.de angesehen, der ist allerdings mit ca. 4kB auch noch recht gross, um "nur" ein paar Bytes zu übertragen... Gibt es denn keine einfachere Möglichkeit Daten mit dem PC auszutauschen? Gefunden habe ich zumindest mal nichts... Wie die Daten ausgetauscht werden (HID, virtueller ser.-Port, ...) ist mir eigentlich egal, solange das für mich nachvollziehbar ist (am besten natürlich wenn es mit freien libs/codes klappt).
>Dann habe ich mich mal an den Code von hier gesetzt und mir den Code von >http://www.ssalewski.de/AT90USB_firmware.html.de angesehen, der ist >allerdings mit ca. 4kB auch noch recht gross, um "nur" ein paar Bytes zu >übertragen... Sonst hast du sie noch alle? Nimm doch den UART und einen USB-Seriell Wandler. Dann kommste mit 100 Byte aus.
4kb? Nimm einen UART uC, wie mein Vorschreiber bereits erwähnt. Ich füttere meine damit: http://www.sparkfun.com/commerce/product_info.php?products_id=9115 kostet 9.60€ und läuft absolut zuverlässig.
>Sonst hast du sie noch alle? Nimm doch den UART und einen >USB-Seriell Wandler. Dann kommste mit 100 Byte aus. Hast DU noch alle Latten am Zaun? Muss mich hier doch nicht beschimpfen lassen, Asi! Du hast NULL Ahnung von dem Teil, wie man sieht und meinst hier irgendwas schreiben zu müssen. Ich kauf mir keinen speziellen USB-Controller, wenn ich dann nen USB-Chip reinhänge, Vollidiot Tut mir leid, dass ich hier so ausfallend werde, aber Trolle wie der sind übel... Wenn jemand Sinnvolles zu sagen hat, wär ich froh, Leute wie er werden ab jetzt ignoriert ;)
>Hast DU noch alle Latten am Zaun? Muss mich hier doch nicht >beschimpfen lassen, Asi! Grins;) >Du hast NULL Ahnung von dem Teil, wie man sieht und meinst hier >irgendwas schreiben zu müssen. Ich kauf mir keinen speziellen >USB-Controller, wenn ich dann nen USB-Chip reinhänge, Vollidiot DU hast Null Ahnung. USB wird bei dem Controller hauptsächlich in Software gemacht. Deshalb ist das Programm so groß.
Na geht doch auch freundlicher... >DU hast Null Ahnung. USB wird bei dem Controller >hauptsächlich in Software gemacht. Deshalb ist das Programm so groß. Die AT90USB haben unterstützende Hardware drin, sodass man sich keine großen Sorgen mehr um die Geschwindigkeit und Timings machen muss, die Aufbereitung der Daten geschieht in der Software und das nimmt einem sehr viel Arbeit beim Programmieren ab. Ich hab ne Frage zu nem USB-Controller, du schickst mich zu nem USB-RS232. Wär das gleiche, wenn ich dich nach der A7 frage und du mich an HBF München schickst. Will von Wandlern gar nix mehr hören und von dir auch nicht.
@Autor: Nils S. Bitte nicht in dem Tonfall! 4 kByte ist für die USB-Firmware des AT90USB schon sehr gut, ich war selbst überrascht, dass avr-gcc das so klein bekommt. Bei 64 kByte Flash hast Du ja auch noch 60 kByte frei -- Du musst natürlich ohne den Debugging Code compilieren. Sonst musst Du eben einen Chip nehmen bei dem man nicht den ganzen USB-Kram programmieren muss, etwa die FTDI-Chips. Neben meiner und Atmels USB-Firmware gibt es natürlich auch noch die von MyUSB/Lufa, die ist von der Benutzung her eventuell einfacher, aber wohl eher umfangreicher. Aber er bietet auch deutlich mehr Funktionen, Windows, HID, usw. Meine Firmware ist eben wirklich eine Minimalversion, von mir auch nur unter Linux mit LibUSB getestet. http://www.fourwalledcubicle.com/LUFA.php
>4 kByte ist für die USB-Firmware des AT90USB schon sehr gut, ich war >selbst überrascht, dass avr-gcc das so klein bekommt. An sich ist das ja wirklich nicht viel, allerdings braucht das viel Einarbeitung wenn man fremden Code nimmt und ein Vielfaches von Viel, wenn man Eigenen will, daher wollte ich wissen, obs da noch was einfacheres und kleineres gibt. Das abgespeckte UART<->USB Beispiel von Atmel hat bei mir, für den 1287 compiliert, 4468 Bytes Program und 163 Data. Allerdings läuft das bisher nur auf dem AT90USBKey, auf meiner eigenen Hardware nicht, habe auch kein grosses Interesse dran, das dort zum Laufen zu bekommen. edit : Habe meinen 16Mhz Quarz in der eigenen Hardware gegen einen 8Mhz, wie auf dem USBKey, getauscht, nun funkioniert dort der Atmel-Code auch. Es lässt sich sicher noch um einige Bytes abspecken, wenn ich mal schaue ob ich den Scheduler noch rausbekomme und die Messages entferne, die beim Bewegen des Joysticks/Drücken des HWBs an den virtuellen seriellen Port gesendet werden. Ich weiss nicht wie das mit der Lizenz von Atmel aussieht, habe nämlich ziemlich viele Kommentare usw. entfernt und Quell-Dateien zusammengefasst, sonst würde ich da schnell das Archiv anhängen. Wenn Interesse besteht, kann ich das ja noch "Atmel-konform" machen und posten. >Neben meiner und Atmels USB-Firmware gibt es natürlich auch >noch die von MyUSB/Lufa omg, ich dachte immer das MyUSB/Lufa wäre soetwas wie vusb ( http://www.obdev.at/products/vusb/index-de.html ), darum habe ich mir das gar nicht näher angesehen, werd ich jetzt nachholen. >Meine Firmware ist eben wirklich >eine Minimalversion, von mir auch nur unter Linux mit LibUSB getestet. So wie es bisher aussieht, wird es darauf hinauslaufen, dass ich deine Firmware verwende/ändere/als Vorlage benutze/... Das was ich will ist klein und Linux :D >Bitte nicht in dem Tonfall! siehe: >Tut mir leid, dass ich hier so ausfallend werde, aber Trolle wie der >sind übel... .... Leute wie er werden ab jetzt ignoriert ;) :)
>An sich ist das ja wirklich nicht viel, allerdings braucht das viel >Einarbeitung wenn man fremden Code nimmt und ein Vielfaches von Viel, >wenn man Eigenen will, Ja sicher. Um USB etwas zu verstehen muss man einiges lesen, etwa die ersten 100 Seiten des Buches von H.J. Kelm, das gibt es jetzt ja schon für 7 Euro. Und das Datenblatt zum AT90USB. Oder man versucht es ohne die Interna zu verstehen, indem man einfach fertigen Code minimal modifiziert, etwa den von Atmel oder LUFA. Oder man nimmt Chips die fast alles intern machen, etwa die von FTDI.
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.