Ser_open(): can't open device "\\.\COM12

Hi @all,
Ich bin neu hier im Forum da ich ein seltsames Problem habe das hier mal beschreiben will.
Und hoffe so mein Problem lösen zu können, ich bin schon etwas Ratlos.

Ich hab hier ein Projekt mit einem Ard. Leonardo Clone ,die IDE Version ist 2.3.2
Die Treiber Installation sieht eigentlich gut aus. Siehe auch die Anlage.
Zum Fehler finden verwende ich um es einfach zu machen den Sketch Blink.
Ich habe neu gebootet ,meinen Rechner zurückgesetzt. Die alte IDE 1.8 zum Test installiert
drei Lenardo Clones versucht alles ohne Erfolg.
Mein Rechner ist ein Gigabyte Z790 UD, I5 ,13600,Win11 pro.
Mein Projekt ist eigentlich simpel der Leonard bekommt von einen Nano auf Com 1 RX/TX einen Charakter und sendet diesen Char mit KeyPress


.
Ich bin schon fast fertig damit als er beim Upload einfach nicht mehr funktionierte.
Irgend was sperrt meinen Com Port egal welchen Port ich verwende. Wenn ich den Restknopf drücke geht es. Der Virtuelle Monitor geht nicht.
PS: COM Port 1, 3-11,13 sind belegt
Ich hoffe jemand kann mir helfen.
Schon mal Danke fürs anschauen.
Lg. Peter

Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden.
Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.

mfg ein Moderator.

Antivirus drauf?

Und vor upload Serial monitor schlissen

Hi fony,
Danke für melden
So einfach ist es leider nicht!

Kein Viren Scanner außer MS Defender
Monitor ist zu.
Die Com Ports wurden hinzu gefügt Editiert Siehe im Post

Lg Peter

Danke fürs umsetzen

Der Port für den Leonardo wird automatisch gewählt, da soltest Du gar nichts auswählen. Eine Besonderheit gegenüber z.B. dem UNO ist aber, dass der Leonardo beim Upload einen anderen Port verwendet, als beim 'Normalbetrieb'. Wenn der Bootloader aktiv ist, meldet sich der Leonardo als Gerät mit dem Namen 'Arduino Leonardo bootloader' an. Das Device 'Arduino Leonardo' verschwindet dabei. Wird nichts hochgeladen, beendet sich der Bootloader nach einigen Sekunden wieder, der bootloader-Comport verschwindet und es erscheint wieder der normale Leonardo. Das kannst Du ganz einfach nachvollziehen, wenn Du den Gerätemanager geöffnet hast, und am Leonardo die Reset-Taste drückst.

Wenn Du einen Sketch hochlädst, sollte der Reset automatisch ausgelöst werden. Es kommt allerdings schonmal vor, dass das nicht funktioniert. Ich kenne das vor allem dann, wenn man einen Keyboard-Sketch geladen hat. Um dann aus der Bredouille zu kommen musst Du den Reset manuell auslösen, wenn die IDE den Upload startet ( ist zeitlich etwas kritisch, evtl. musst Du mehrfach probieren ). Manchmal hilft auch doppelklicken auf RESET, dann läuft der Bootloader länger.

Der richtige Zeitpunkt sollte sein, wenn die Meldung
'Waiting for upload port'
kommt. Dann sucht er nach dem device 'Arduino Leonardo bootloader'

Hallo MicroBahner,

danke vielmals für die Email damit kann ich was anfangen.
Ich habe mal Serial1 ausgeklammert zum Testen.
Wenn ich denn Reset Punkt finde gehts ohne Probleme.
Ich arbeite schon eine weile mit dem Leonardo aber so angestellt hat er sich noch nie.
Kann es sein das es mit IDE 2.3.2 und dem Win 11 Treiber holbriger geht.
Win 10 habe ich auf dem leider Rechner nicht.
Vorher war es IDE 1.8 und Win 7 mit Zadig Treibern da klappte das umschalten des Port
sehr gut. Dann kam Win11 mit IDE 2.32 und es ging kurz dann hatte ich einmal Rest gedrückt und ich hab gesucht.
Gibt es hier zu mal eine Verbesserung das sieht aus wie ein Timing Problem?

LG

Peter

Nun ja, das grundsätzliche Problem kenne ich schon länger - auch mit Windows 10. Ob es mit Win11 häufiger auftritt kann ich nicht sagen - mit Win11 habe ich keinerlei Erfahrungen.
Versucht denn die IDE überhaupt den Reset auszulösen? Wenn ich in den Einstellungen die detaillierten Ausgaben beim Hochladen aktiviere, gibt er mir das aus:

Der Sketch verwendet 3956 Bytes (13%) des Programmspeicherplatzes. Das Maximum sind 28672 Bytes.
Globale Variablen verwenden 149 Bytes (5%) des dynamischen Speichers, 2411 Bytes für lokale Variablen verbleiben. Das Maximum sind 2560 Bytes.
Performing 1200-bps touch reset on serial port COM30
Warten auf Upload-Port ...
Upload port found on COM10

Da sieht man, dass er mit dem Setzen der Baudrate auf 1200 Baud den Reset auslöst. (Hab' den einfachen Blink-Sketch hochgeladen)

Das sollte sicher nicht das Problem sein. Hast Du auch ein Serial.begin() drin? Wenn nicht, könnte das eher das Problem sein. ( über USB kannst Du sowohl die Keyboardsimulation als auch die 'normale' serielle Kommunikation parallel aktivieren ). Siehst Du im Gerätemanager beides - Keyboard und ComPort - wenn dein Programm läuft?

Hi,

Ja ich hab Seral und Serial1 und Keybord drin.
Ich wollte gerade einen Uploud Verbose einschalten dann kam das
ich bin Baff mit dem Verbose Output geht es wie früher !!
Der Sketch verwendet 8904 Bytes (31%) des Programmspeicherplatzes. Das Maximum sind 28672 Bytes.
Globale Variablen verwenden 456 Bytes (17%) des dynamischen Speichers, 2104 Bytes für lokale Variablen verbleiben. Das Maximum sind 2560 Bytes.
Performing 1200-bps touch reset on serial port COM5
Warten auf Upload-Port ...
Upload port found on COM14

avrdude: Version 6.3-20"C:\Users\dg7sa\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude" "-CC:\Users\dg7sa\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf" -v -V -patmega32u4 -cavr109 "-PCOM14" -b57600 -D "-Uflash:w:C:\Users\dg7sa\AppData\Local\Temp\arduino\sketches\2A3836550464BDCE2E4165A5DA4E772E/CAN_read-w208Leo.ino.hex:i"
190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch

     System wide configuration file is "C:\Users\dg7sa\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"

     Using Port                    : COM14
     Using Programmer              : avr109
     Overriding Baud Rate          : 57600
     AVR Part                      : ATmega32U4
     Chip Erase delay              : 9000 us
     PAGEL                         : PD7
     BS2                           : PA0
     RESET disposition             : dedicated
     RETRY pulse                   : SCK
     serial program mode           : yes
     parallel program mode         : yes
     Timeout                       : 200
     StabDelay                     : 100
     CmdexeDelay                   : 25
     SyncLoops                     : 32
     ByteDelay                     : 0
     PollIndex                     : 3
     PollValue                     : 0x53
     Memory Detail                 :

                              Block Poll               Page                       Polled
       Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
       ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
       eeprom        65    20     4    0 no       1024    4      0  9000  9000 0x00 0x00
       flash         65     6   128    0 yes     32768  128    256  4500  4500 0x00 0x00
       lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
       hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
       efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
       lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
       calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
       signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

     Programmer Type : butterfly
     Description     : Atmel AppNote AVR109 Boot Loader

Connecting to programmer: .
Found programmer: Id = "CATERIN"; type = S
Software Version = 1.0; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.

Programmer supports the following devices:
Device code: 0x44

avrdude: devcode selected: 0x44
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9587 (probably m32u4)
avrdude: reading input file "C:\Users\dg7sa\AppData\Local\Temp\arduino\sketches\2A3836550464BDCE2E4165A5DA4E772E/CAN_read-w208Leo.ino.hex"
avrdude: writing flash (8904 bytes):

Writing | ################################################## | 100% 0.67s

avrdude: 8904 bytes of flash written

avrdude done. Thank you.

Jetzt ist alles wie Früher ??

Staunend
Peter

Naja, ist ja ein sporadisch auftretendes Problem. Das sich das wieder fängt, wenn man ihm mit manuellem Reset wieder auf die Sprünge geholfen hat, kenne ich durchaus ... :roll_eyes: . Manchmal hilft auch, alle gespeicherten COM-Ports im Gerätemanager zu löschen, und so wieder 'ganz frisch' mit dem Vergeben von COM-Ports anzufangen.
Man mus ja nicht alles verstehen ... - Hauptsache, man hat eine Lösung :wink:
Weiter viel Spaß
Franz-Peter

Ich nochmal,

Mit dem Rest hat er den Port auf 5 gesetzt ? dann ging es immer ?
Ich hab dann nochmal den Verbose ausgeschaltet und er ging trotzdem.

Vielen Dank an dich für den INPUT

LG
Peter

Ja, damit hat das Ganze nichts zu tun. Eher damit, welche COM-Ports zugewiesen werden. Ist aber aus meiner Sicht bisher alles nicht eindeutig reproduzierbar.

Kleiner Tipp dazu am Rande: 'In Menü unter Ansicht "Ausgeblendete Hardware anzeigen" anhaken. Windows neigt bei ALLEN Versionen dazu, Com-Ports zu züchten.
Ich habe da schon meterlange Listen gesehen wenn ich dies s.o. ausgeführt habe.

Gruß

Pucki

Danke für den Hinweis, weis wahrscheinlich wirklich nicht jeder gleich wie's geht. Da sammelt sich in der Tat im Laufe der Zeit einiges an.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.