diff --git a/src/flash.c b/src/flash.c index 1debb09..20de632 100644 --- a/src/flash.c +++ b/src/flash.c @@ -220,7 +220,7 @@ static inline uint8_t flash_erase_next_page() { uint16_t mode = 0x81; // Page Erase - if (~b & 8) + if (~fs.block & 8) fs.npages++; uint8_t n = 0; if (fs.page && !(fs.page & 0xff) && fs.npages & 0xff00) { diff --git a/src/rtc.c b/src/rtc.c index ee3486a..fe58a36 100644 --- a/src/rtc.c +++ b/src/rtc.c @@ -81,7 +81,7 @@ ISR(RTC_CNT_vect, ISR_NAKED) "subi r24, -1" "\n\t" "sts clockh, r24" "\n\t" "lds r24, clockh+1" "\n\t" - "sbci r24, -1" "\n\t" + "sbci r24, 0" "\n\t" "sts clockh+1, r24" "\n\t" "2:" "\n\t" "pop r24" "\n\t" @@ -109,7 +109,7 @@ ISR(RTC_CNT_vect) if (flag & RTC_CNT_bm) RTC.CMP += rtc_config[1].val | rtc_config[2].val << 8; if (flag & RTC_OVF_bm) - clock += 1; + clockh += 1; return; } #endif