The RTC also includes an automatic wakeup unit to manage low-power modes.
时钟源的选择:LSI or LSE ,LSI=32.768kHz
tick=1kHz,要分频得到这个频率,有两个选择,一个是RTC_CLK进行2/4/8/16分频后,再经过16位的自动重载向下计数器,这样子在HSI下很难得到准确的1kHz的触发,这个方案暂缓;第二个方案是用ck_spre,因为也是整数分频,不可能分频为1kHz。
http://wiki.csie.ncku.edu.tw/embedded/RTC
修改systick为RTC的唤醒中断,首先可以借鉴下下文
http://www.freertos.org/low-power-ARM-cortex-rtos.html
具体的步骤:
1.写RTC唤醒中断及其函数,记得设置systick的优先级加上这句NVIC_SetPriority (RTC_WKUP_IRQn, (1<<__NVIC_PRIO_BITS) - 1);。
2.删除掉Systick中断函数调用的osSystickHandler();,给RTC的唤醒中断。
3.在函数vPortSetupTimerInterrupt中将systick初始化部分删除掉,添加进RTC中断初始化函数。