• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

停机模式RTC定时唤醒有问题

ecb6727ab4d96f75 2018-05-20 浏览量:1741
采用原子的例程如下:
RTC_Init();                     //初始化RTC 
RTC_Set_WakeUp(RTC_WAKEUPCLOCK_CK_SPRE_16BITS30); //配置WAKE UP中断30秒钟唤醒一次  
HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON PWR_STOPENTRY_WFI);  //进入停机模式
采用以上例程可以30秒唤醒一次!

我的问题如下:
我想每一次进入停机模式时开始计时30秒后唤醒,正常工作时停止RTC计时。
我使用以下例程时只有第一次可以唤醒,之后就再也唤醒不了。
RTC_Init();                     //初始化RTC 
RTC_Set_WakeUp(RTC_WAKEUPCLOCK_CK_SPRE_16BITS30); //配置WAKE UP中断30秒钟唤醒一次  
HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON PWR_STOPENTRY_WFI);  //进入停机模式

__HAL_RCC_RTC_DISABLE();//RTC时钟禁止
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 不能把RTC的时钟停止吧,否则唤醒的时间没有时基了
    • 发布于 2018-05-21
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:2
  • 建议楼主可以找个替代方案,如外接一个EEPROM用于保存时间,F103的RTC确实存在很多问题,让他一直走不要停是比较好的选择。

    • 发布于2018-05-30
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

停机模式RTC定时唤醒有问题