Gast
#4892479
Hallo zusammen,
Ich habe eine selbstgebaute Mikroncontrollerplatine mit einem
ATmega32U2, der von Werk aus einen USB-Bootloader besitzt. Über diesen
Programmiere ich den Controller und da ich damals auf einen Reset Taster
verzichtet hat, muss dieser über die Software aktiviert werden. Dazu
verwende ich folgende Routine:
USB_Disable();
Delay_MS(2000);
cli();
PORTB = 0x00;
Delay_MS(2000);
_asm_ ("jmp 0x7000;");
Das funktioniert in 20% der Fälle und in den restlichen hängt der uC
sich irgend wo auf und macht nichts, bis ich einen Hardware Reset
durchführe. Es ist schon eine Weile her, dass ich dies programmiert habe
und ich konnte auch nicht mehr herausfinden woher ich die Adresse 0x7000
habe, jedoch gehe ich davon aus das, das der Anfang vom Bootloader ist.
Hat jemand eine Idee das ganze zuverlässiger zu gestalten?