Steven
如题,在freeROTS的例程下,选择内部晶振,发现app_rtc.c的Init等函数全是空的
而且calender_time_sync函数注释说必须23小时以内调用一次。这个函数在app_rtc_get_time也被调用
如上:
芯片进入睡眠大概16小时左右(也有机器是20+ 小时的),发现RTC就不走了,睡眠唤醒之后(调用了app_rtc_get_time)RTC又就正常运行了。是否是因为没有调用calendar_time_sync有关,
这个RTC运行的原理是什么?
有哪些情况会使得RTC停止工作?
Ping
1. 对于GR551x系列,选择内部时钟,RTC模块是不工作的,calendar的时钟是用BLE Timer软件实现的,不支持Alarm功能,app_rtc.c文件代码里面有宏定义区分:
#if (CFG_LPCLK_INTERNAL_EN == 0) || (APP_DRIVER_CHIP_TYPE == APP_DRIVER_GR5332X) || (APP_DRIVER_CHIP_TYPE == APP_DRIVER_GR5525X)
2. 所以对于反馈的问题,需要补充下更多信息:例如SDK版本、BLE业务是否有开启、16个小时休眠过程中是否每任何业务操作?可以打印下BLE Timer的相关日志。
打开微信,使用“扫一扫”即可关注