Commit 91259f9096689f9caac0faa4c23ca132082b12b6
authorKarai Csaba <ckarai@linux-2hzx.site>
Sun, 4 Jan 2015 09:15:35 +0000 (10:15 +0100)
committercskarai <cskarai@freemail.hu>
Mon, 5 Jan 2015 18:36:36 +0000 (19:36 +0100)
simavr/sim/avr_watchdog.c

index b4628cab6652d20a8b0b37d9fc31f8d84ebaf145..f8a5938a8e19a2e4c9f72ec3b522cf2afe9c6982 100644 (file)
@@ -103,13 +103,14 @@ static void avr_watchdog_write(avr_t * avr, avr_io_addr_t addr, uint8_t v, void
 
        uint8_t old_wde = avr_regbit_get(avr, p->wde);
        uint8_t old_wdie = avr_regbit_get(avr, p->watchdog.enable);
-
+       uint8_t old_wdce = avr_regbit_get(avr, p->wdce);
+       
        uint8_t was_enabled = (old_wde || old_wdie);
 
        uint8_t old_v = avr->data[addr]; // allow gdb to see write...
        avr_core_watch_write(avr, addr, v);
 
-       if (avr_regbit_get(avr, p->wdce)) {
+       if (old_wdce) {
                uint8_t old_wdp = avr_regbit_get_array(avr, p->wdp, 4);
 
                // wdrf (watchdog reset flag) must be cleared before wde can be cleared.