Hallo Ich habe das STK500 über einen USB nach Seriell Konverter mit dem Laptop verbunden. Der Konverter wird in der Systemsteuerung als USB Serial Port (Com13) erkannt. Das ganze habe ich mit einem Terminal programm und einem 9 Poligen Sub-D Loopback adapter getestet, fiunktioniert einwandfrei. Nun habe ich mir mit WINAVR ein Programm geschrieben und hab versucht das ganze zu flashen geht aber nicht, ich bekomme von avrdude folgende Fehlermeldung did not find any USB device "usb". habe das ganze im make file auch mal auf com13 umgeschrieben das funktioniert aber genau so wenig. Im Terminal Programm(Realterm) wird das Interface aber als com13 erkannt. Es wäre nett wenn ihr mir helfen könntet. Gruß Gizmo.
"usb" kann nicht gehen, das würde ja bedeuten, dass du über die libusb direkt auf das USB-Gerät zugreifen können müsstest. com13 muss dagegen funktionieren. Was genau bekommst du denn von avrdue als Fehlermeldung? Du kannst auch mal folgendes aufrufen:
1 | avrdude -c stk500v2 -p m16 -P com13 -uF -vvvv 2> logfile.txt |
und dann logfile.txt hier als Anhang posten.
Peter Dannegger wrote:
> Stell den Adapter mal auf ne COM1..4 um.
Wir sind doch hier nicht bei avrprog.exe.
Probiere mal
1 | avrdude -c stk500v2 -p m16 -P \\.\com13 -uF -vvvv 2> logfile.txt |
Serielle Schnittstellen jenseits von COM9 müssen mit dieser geänderten Syntax angesprochen werden.
Ah, ist das eigentlich eine Windows-Macke? Der String wird ja am Ende direkt ins Win32 API durchgereicht... Ggf. könnte man die Heuristik dafür ja ins ser_open() in ser_win32.c gleich mit einbauen.
> Ah, ist das eigentlich eine Windows-Macke?
So kann man das auch nennen. Ist uralt* und hat mit den "reservierten
Namen" aus DOS-Zeiten zu tun. Das sind COM, LPT, CON, PRN, AUX und NUL.
Die werden schon immer etwas ... anders behandelt.
*) also bereits in Windows NT 3.1 von 1993 so vorhanden gewesen
Die Heuristik könnte man IMHO schon benutzen, sogar für com1 bis com9 Ergänzung zum Nachlesen HOWTO: Specify Serial Ports Larger than COM9 http://support.microsoft.com/?scid=kb%3Ben-us%3B115831&x=7&y=10
OK, macht mal bitte einer einen Bugreport bei AVRDUDE dafür auf? Nur, damit es nicht vergessen wird. Ich würde dann sowas machen wie
1 | if (strncasecmp(device, "com", strlen("com")) == 0) { |
2 | // prepend "\\\\.\\" to name, required for ports >= 10
|
3 | cp = malloc(strlen("\\\\.\\") + strlen(device) + 1); |
4 | // handle error
|
5 | strcpy(cp, "\\\\.\\"); |
6 | strcat(cp, device); |
7 | device = cp; |
8 | }
|
Bugreport ist eingeschickt. Ich hoffe, dass ich mich nicht zu blöd dabei angestellt habe.
Nö, danke, ist OK. Ist ja nur eine Erinnerung, dass ich das mal vor dem nächsten Release mit mache. Heute abend wird's nicht mehr.
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.