Hallo. Ich habe es nun endlich geschafft den 90USB1287 über USB als VirtalCom zu identifizieren und der Datenaustausch mit dem PC funktioniert auch. Mein Programm auf dem AT90 ist aber knapp 80kb groß, davon gehen 70kb nur für den USB-Kram drauf (ohne Optimierungen des Compilers aber wegen Debugfähigkeit möchte ich noch keine Optimierungen aktivieren). Geht das irgendwie noch kleiner? Kann man da noch was weg lassen? Immerhin frisst so viel Code ja auch Rechenleistung und meine eigentliche Anwendung muss nahezu echtzeitfähig laufen. Zweite Frage: Ich habe meine Anwendung auf Basis des Atmel-Demoprogramms gemacht und da ist ein Scheduler enthalten, der die Tasks (den USB-Task und mein Prgramm) verwaltet. Gibt es eine Möglichkeit den weg zu lassen, so dass ich einmal in meiner Main InitUSB(); schreibe und alles zu USB gehörige dann läuft? Durch den Enumerationprozess wahrscheinlich nicht, da der priorität hat, oder? ...hach, wäre es doch nur so schön einfach wie bei RS232 :-) Jödel-di-dü und Danke Marian
Na klar geht das alles viel kleiner, wenn man die Atmel-Library wegläßt und alles selber programmiert. Ein komplettes CDC-Bios (also als Virtual-Com) ist spielend in weniger als 4 Kilobyte zu bekommen (mit WinAvr kompiliert). Ich hab das hier auf einem AT90USB162 laufen. Der Enumerierungsprozess muß schon separat abgearbeitet werden, aber danach reicht eigentlich der regelmäßige Aufruf einer Routine um abzufragen, ob Daten über den Out-Endpoint eingetroffen sind. Man kanns natürlich auch mit Interrupts programmieren. Erwin
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.