Hallo, ich habe mir ein Board gebaut, dass über den ADC des xMega Werte einliest und diese auf einem Display anzeigt. Beim Design hatte ich zusätzlich einen USb Anschluss vorgesehen, um die Daten zusätzlich am PC auswerten zu können und um auf eine extra Spannungsversorgung verzichten zu können. Deswegen auch kein UART... Der verwendete xMega ist ein ATXMEGA32A4U. Grundsätzlich habe ich den USB Anschluss nach der Atmel AppNote angeschlossen. Stromversorgung funktioniert. Allerdings bin ich vorher davon ausgegangen, dass das ganze etwas trivialer ist. Ist es grundsätzlich möglich über diesen USB Anschluss einfache Sensordaten zu übertragen? Ich habe schon nach Beispielprojekten gesucht, aber das geht ja weit über meine Bedürfnisse hinaus (Audio, Maus, tastatur, usw). Die ASF Examples in AtmelStudio 6.0 bin ich auch schon einmal durchgegangen, aber ich kann nichts für meine Bedürfnisse finden. Kann mir jemand ein einfaches Beispielprojekt zeigen oder die grundsätzlichen Schritte nennen, um USB zum laufen zu bekommen? Ich möchte USB in Low Speed betreiben. System Clock ist 2MHz, habe das auch als Quelle für die PLL ausgewähltund über Faktor 3 komme ich auf die geforderten 6MHz für Low Speed USB (in der Theoreie) zumindest. Die USB Register habe ich mir auch genauer angeschaut und genau hier komme ich ins Stocken... Ich hatte gehofft hier einfach 2 Byte Register zu haben in die ich meine Daten reinschieben kann und irgendein Flag zeigt mir dann an, wenn es fertig ist. Ist aber nicht so, richtig? Über jede Art von Hilfe wäre ich euch dankbar. Beste Grüße, Markus
> Ist aber nicht so, richtig?
Ja ist nicht so !
Aber wenn du es konfiguriert hast brauchst du eigentlich nur in den
richtigen Endpoint reinzuschreiben oder herauszulesen.
Auf der PC Seite eigentlich auch, aberdort wird dir der Direkte Zugriff
vom Betriebssysztem blockiert und wenn man sich keinen Treiber schreiben
will benutzt man Device Classes für die Windows schon Treiber hat und in
denen auch die Endpoints usw. definiert sind. Dann mußt du "nur" auf der
µC Seite den USB Controller entsprechend konfigurieren.
USB und "einfach" schließen sich gegenseitig aus. Deshalb sieht man es sehr oft, daß USB als COM-Port getunnelt wird. Ich hatte mal nen Surf-Stick, der hat beim Einstecken erstmal 4 COMs aufgemacht. Auch viele andere USB-Geräte lassen im Gerätemanager ne neue COM erscheinen. Den USB als COM zu tunneln, scheint wohl auf PC-Seite das einfachste zu sein.
Einen virtuellen COM Port einzurichten ist in der Tat einfacher. Zumindest was die PC Seite angeht. Möchtest Du jedoch wirklich USB nutzen (was ich eigentlich sehr gerne mache), dann schau dir mal libusb an.
Markus P. schrieb: > Ist es grundsätzlich möglich über diesen USB Anschluss einfache > Sensordaten zu übertragen? Am einfachsten ist es, wenn Du Dein USB-Gerät als HID Klasse implementierst. Auf der PC-Seite gibt es dafür sehr gute und einfach zu nutzende Treiber. Eine Übersicht findest Du in der Artikelsammlung: http://www.mikrocontroller.net/articles/USB_HID_Host_Treiber
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.