Hi !
Ich würde gerne LUFA verwenden, habe aber einige Startprobleme.
Mein Setup:
AVRStudio 4 auf WINXP
at90usb1287 auf selbst entworfenem pcb
Wenn ich die VirtualSerial aus den Demos kompiliere und aufspiele sagt
WinXP nur "Gerät nicht erkannt". Den im Verzeichnis liegenden Treiber
.inf akzeptiert WinXp nicht dafür.
Alles was ich verändert habe (LUFA111009) ist in der makefile:
MCU = at90usb1287
BOARD = NONE
F_CPU = 16000000
Ich verwende ein eigenes Board (s. Schaltplan), daher das "NONE". Aber
als serielle Schnittstelle müsste es doch dennoch von XP erkannt werden,
oder?
Auch mit dem originalen makefile, also board=usbkey, f_cpu=8000000 hatte
ich kein Glück.
Die Schaltung an sich scheint ok zu sein, da sie mit der firmware von
Stefan Salewski als USB-Gerät ordnungsgemäß erkannt wird und läuft
(http://www.ssalewski.de/AT90USB_firmware.html.de).
Hat irgendwer Erfahrung damit?
Danke, David
Ich seh grad du hast schon bei AVR Freaks gepostet - hast du da vorher
auch die Suche benutzt?
Mir hat das geholfen:
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=114164&highlight=lufa
Mit dem Treiber musst du mal da im Forum weiter suchen, bin mir sicher
das da noch ein paar mehr leute Uralte Betriebssysteme nutzen
(FLAMEWAR!!)
Außerdem hast du garkein Bild angehangen.
Hi !
Danke für die rasche Antwort!
ja, bei avrfreaks habe ich auch gesucht, habe den von Dir verlinkten
Eintrag aber wohl nicht gründlich genug gelesen, ich hatte das erst so
verstanden dass sich das nur wuf win7 bezieht...mein Fehler.
Ich probiers mal mit dem dort beschriebenen Patch.
Ich habe die LUFA wie beschrieben geändert, ohne Effekt...trotzdem danke
für den Hinweis!
Der dort beschriebene Bug trat ja auch erst auf nachdem eine Verbindung
mit dem PC hergestellt wurde. Bei mir kommt es ja gar nicht dazu :(
Hast Du noch weitere Ideen?
VG David
Bei mir hat Win7 den treiber ohne Probleme geschluckt.
Was kommt denn genau für eine Meldung? Mach einfach mal Rechtsklick ->
Installieren auf die .inf
Fuses richtig? Richtiger Quarz? Weil aus diesem Berechnet sich ja die
USB Frequenz - wenn du 8Mhz sagst, du aber einen 16Mhz Quarz hast, kanns
halt nicht funktionieren da der PLL dann anders eingestellt wird durch
die Lib (PLL ist für die USB Frequenz verantwortlich)
Hier erstmal die versprochenen Bilder zum Schaltplan und den Fuses.
Ich würde denken dass die Fuses richtig gesetzt sind, oder? Draußen
hängt ein 16MHz Quarz dran.
Ich suche mir mal einen Win7 Rechner und hängs da dran ;)
Unter Linux meldet dmesg beim einstecken:
1
[ 1036.216359] usb 1-2.4: new full speed USB device using ehci_hcd and address 9
2
[ 1036.288341] usb 1-2.4: device descriptor read/64, error -32
3
[ 1036.464310] usb 1-2.4: device descriptor read/64, error -32
4
[ 1036.640153] usb 1-2.4: new full speed USB device using ehci_hcd and address 10
5
[ 1036.712136] usb 1-2.4: device descriptor read/64, error -32
6
[ 1036.888101] usb 1-2.4: device descriptor read/64, error -32
7
[ 1037.064190] usb 1-2.4: new full speed USB device using ehci_hcd and address 11
8
[ 1037.472273] usb 1-2.4: device not accepting address 11, error -32
9
[ 1037.544353] usb 1-2.4: new full speed USB device using ehci_hcd and address 12
10
[ 1037.952266] usb 1-2.4: device not accepting address 12, error -32
11
[ 1037.952411] hub 1-2:1.0: unable to enumerate USB device on port 4
Auf deinem Schaltplan solltest du immer BEIDE Enden beschriften und das
Bus System zusammen legen.
Schalt einfach mal so aus spaß den HWBE (Bootloader) aus.
Sonst währ ich jetzt auch am Ende mit meinem Latein. Bei mir lags halt
eher an µC und nicht am PC, der Treiber lief problemlos.
Was heißt gleiches Ergebnis?
Treiber lässt sich nicht Installieren oder was?
Wie gesagt, mach mal Rechtsklick auf die .inf datei und dann
Installieren.
Meckert Win jetzt rum? (XP und Win7?)
Unter Win7 wie unter XP: Beim einstecken kommt "Gerät wurde nicht
erkannt". Treiber lässt sich für das Gerät nicht nachträglich über den
Gerätemanager installieren: "Ordner enthält keinen passenden Treiber"
war sinngemäß die Aussage.
Nochmal: Rechtsknick auf die .Inf Datei im Demo VirualSerial Ordner und
dann installieren anklicken. Und GENAU das machen, nicht über
gerätemanager.
So kann man Schonmal Treiber Problem ausschließen.
Ich hab's gefunden:
Ich habe in AVR-Studio immer auf "Build" geklickt. Nachdem ich im Menü
"Build->Rebuild all" gewählt und die neue .hex aufgespielt habe, wurde
das USB-Serialgerät erkannt :) :) :)
Mein Fehler, ich glaube sowas ähnliches habe ich sogar irgendwo schonmal
gelesen batsch
Vielen Dank für Deine Hilfe und raschen Kommentare, das hat mir sehr
geholfen!!! :)
Kein Problem.
Und dank dem Patch im Link von oben kannst den Port sogar öffnen ;)
Das war mein Problem: Erkannt wurde alles, Treiber ok, aber öffnen konnt
ich den Port nicht, kam immer ein Timeout.
Ich habe schon das nächste Problem:
Ich möchte Zeichen über ein terminal (putty) als echo zurück geben. Im
Netz finden sich einige solcher Programme, die im wesentlichen so
aussehen:
1
int main(void)
2
{
3
SetupHardware();
4
5
/* Create a regular character stream for the interface so that it can be used with the stdio.h functions */
Ich seh grade:
Die Funktionsdefinitionen haben sich verändert (den Code oben habe ich
aus einem alten Forumseintrag abgeschrieben).
In der aktuellen Version (111009) muss es lauten:
uint16_t CDC_Device_BytesReceived()
int16_t CDC_Device_ReceiveByte()
s.d. folgender Code funktinoiert:
1
int main(void)
2
{
3
SetupHardware();
4
5
/* Create a regular character stream for the interface so that it can be used with the stdio.h functions */