Implements the needed correction in PR #487, modifies get method with no change to set method. Exor comparison changed to equality comparison for readability.
This commit is contained in:
Ken Willmott 2018-04-10 09:55:04 -04:00 committed by GitHub
parent 596dc0d78e
commit 463db9b0bf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 3 additions and 3 deletions

View File

@ -168,8 +168,10 @@ uint32 rtc_get_count() {
rtc_clear_sync();
rtc_wait_sync();
rtc_wait_finished();
do {
h = RTC->regs->CNTH & 0xffff;
l = RTC->regs->CNTL & 0xffff;
} while (h != (RTC->regs->CNTH & 0xffff));
return (h << 16) | l;
}
@ -182,10 +184,8 @@ void rtc_set_count(uint32 value) {
rtc_wait_sync();
rtc_wait_finished();
rtc_enter_config_mode();
do {
h = RTC->regs->CNTH & 0xffff;
l = RTC->regs->CNTL & 0xffff;
} while (h ^ (RTC->regs->CNTH & 0xffff));
rtc_exit_config_mode();
rtc_wait_finished();
}
@ -216,7 +216,7 @@ uint32 rtc_get_divider() {
do {
h = RTC->regs->DIVH & 0x000f;
l = RTC->regs->DIVL & 0xffff;
} while (h ^ (RTC->regs->DIVH & 0x000f));
} while (h != (RTC->regs->DIVH & 0x000f));
return (h << 16) | l;
}