RTC周期性唤醒实验中。我的板子是阿波罗F767的板子。 我写的代码如下: voidRTC_WakeUp_Set(u16 cnt,u32 WakeUpClock) { __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(&RTC_Handler,RTC_FLAG_WUTF); HAL_RTCEx_SetWakeUpTimer_IT(&RTC_Handler,cnt,WakeUpClock);
HAL_NVIC_EnableIRQ(RTC_WKUP_IRQn); //使RTC_WKUP_IRQn断通道 HAL_NVIC_SetPriority(RTC_WKUP_IRQn,2,3); //抢占优先级2,子优先级3 } voidRTC_WKUP_IRQHandler(void) { HAL_RTCEx_WakeUpTimerIRQHandler(&RTC_Handler); } voidHAL_RTCEx_WakeUpTimerEventCallback(RTC_HandleTypeDef *hrtc) { printf("WakeUp! "); printf("%d-%d-%d\r\n",RTC_GetTimeInit.Hours,RTC_GetTimeInit.Minutes,RTC_GetTimeInit.Seconds); //打印出唤醒时的RTC时间,便于调试。 LED1_Toggle; }
使用USMART组件调试时,结果如下图:
问题: 1、这里的返回值是0x03代表什么意思呢,我翻了翻开发手册里USMART组件,并没找到相关解释。。 2、无论设置参数CNT值是多少(这里以0,1,2,4为例)。显示的时间都是3秒唤醒一次。这是为什么呢
|