Gast
#4846241
Vielleicht komisch aber wahr. Ich arbeite an meiner Entwicklung parallel mit zwei Compiler: SDCC und Microchip MC18 (freie Version). Das SDCC durch Sentiment... Das Programm ist umfangreich. Beide Interrupts (low und high Priorität)mitlaufen. Unter SDCC kommt nach regelmäßigen Abständen zum Reseten. Unter MC18 läuft das Programm über Tage ohne Problemen. Zuerst dachte ich an ein Hardwareproblem, aber nichts verdächtiges habe ich gefunden. Heute habe ich diese Abstände zwischen Reset gemessen. Sind das regelmäßig 2 Minuten und 8 Sekunden. Also leider SDCC Fehler. Nach dem Wiedereintritt nach dem Reset habe ich noch den Inhalt vom RCON ausgelesen: 0b00010100 CON: bit 7 IPEN: Interrupt Priority Enable bit 1 = Enable priority levels on interrupts 0 = Disable priority levels on interrupts (16CXXX Compatibility mode) bit 6 SBOREN: BOR Software Enable bit(1) If BOREN1:BOREN0 = 01: 1 = BOR is enabled 0 = BOR is disabled If BOREN1:BOREN0 = 00, 10 or 11: Bit is disabled and read as ‘0’. bit 5 Unimplemented: Read as ‘0’ bit 4 RI: RESET Instruction Flag bit 1 = The RESET instruction was not executed (set by firmware only) 0 = The RESET instruction was executed causing a device Reset (must be set in software aftera Brown-out Reset occurs) bit 3 TO: Watchdog Time-out Flag bit 1 = Set by power-up, CLRWDT instruction or SLEEP instruction 0 = A WDT time-out occurred bit 2 PD: Power-down Detection Flag bit 1 = Set by power-up or by the CLRWDT instruction 0 = Set by execution of the SLEEP instruction bit 1 POR: Power-on Reset Status bit(2) 1 = A Power-on Reset has not occurred (set by firmware only) 0 = A Power-on Reset occurred (must be set in software after a Power-on Reset occurs) bit 0 BOR: Brown-out Reset Status bit 1 = A Brown-out Reset has not occurred (set by firmware only) 0 = A Brown-out Reset occurred (must be set in software after a Brown-out Reset occurs)