Gast
#6448665
Hallo, gerade bastle ich an einem kleinen Projekt, in dem der Leonardo mit ein paar Tastern als Makro-Tastatur verwendet werden soll. Funktioniert auch schon einigermaßen. Jetzt habe ich das Problem, dass nach dem Hochfahren des PCs der Leonardo gestartet wird und dann nicht vom PC als Tastatur erkannt wird. Dazu muss ich den Leonardo resetten. Die Idee ist jetzt, das Power-On Reset (POR) in der Software zu erkennen, eine fixe Zeit, z.B. 2 Minuten abzuwarten bis der PC hochgefahren ist. Dann soll ein Reset per Software ausgelöst werden (z.B. über Watchdog Timeout) und der Leonardo wird dann vom PC erkannt. Es gibt da auch ein Status-Register MCUSR (Datenblatt Seite 59: http://ww1.microchip.com/downloads/en/devicedoc/atmel-7766-8-bit-avr-atmega16u4-32u4_datasheet.pdf). Allerdings funktioniert die Erkennung eines POR damit nicht. Der Grund dafür scheint zu sein, dass der Bootloader dieses Register löscht (Zeile 119): https://github.com/arduino/ArduinoCore-avr/blob/master/bootloaders/caterina/Caterina.c Am Bootloader will ich nicht rum pfuschen. Deshalb die Frage: Gibt es noch eine andere Möglichkeit, einen POR zu erkennen als das Register auszulesen? Vielen Dank und Grüße Michael