阿波罗F767的RTC周期性唤醒实验,唤醒周期一直是3秒

2019-07-20 13:51发布

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 ",RTC_GetTimeInit.Hours,RTC_GetTimeInit.Minutes,RTC_GetTimeInit.Seconds);                //打印出唤醒时的RTC时间,便于调试。         LED1_Toggle;}
使用USMART组件调试时,结果如下图:
1.jpg 问题:1、这里的返回值是0x03代表什么意思呢,我翻了翻开发手册里USMART组件,并没找到相关解释。。2、无论设置参数CNT值是多少(这里以0,1,2,4为例)。显示的时间都是3秒唤醒一次。这是为什么呢

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
yqljq100
1楼-- · 2019-07-21 13:52
 精彩回答 2  元偷偷看……
yqljq100
2楼-- · 2019-07-21 18:49
jinggx 发表于 2017-6-20 20:45
rtc的寄存器设置新值之前,必须要先解锁。

解锁就是给RTC的WPR依次写入0xCA和0x53嘛?我用的HAL库操作,对应的HAL库函数里面有__HAL_RTC_WRITEPROTECTION_DISABLE这么个宏定义来做这个工作

一周热门 更多>