/* wake up clock select */
RTC_ConfigWakeUpClock(RTC_WKUPCLK_CK_SPRE_16BITS);
/* wake up timer value */
RTC_SetWakeUpCounter(4);
这里主要用到这两个库函数,前面选择唤醒时钟,后面的函数配置时钟周期个数
通过RTC_CTRL寄存器WKUPSEL[2:0]描述可以看到,可以选择RTC/16、RTC/8、RTC/4、RTC/2以及ck_spre即1Kz时钟,这里我们选择的就是1Hz时钟;
后一个函数需要配置WKUPT寄存器[15:0]位,表示每WKUPT[15:0]+1个周期唤醒一次
所以例程中WKUPT[15:0]写4,则每5个1Hz时钟周期唤醒一次,即5s唤醒一次
|