CH582 时间慢

RTC_GetTime(&temp1,&temp2,&temp3,&temp4,&temp5,&temp6);     //获取日期时间

待机一天后获取的时间比标准时间慢好几个小时。


疑问一,是否必须要外挂32.768K晶振

疑问二,是否关闭了此脚功能引起的 PWR_UnitModCfg(DISABLE, UNIT_SYS_LSE);              //注意此引脚是LSE晶振引脚,要保证关闭才能使用其他功能




如果需要rtc做的十分精确,那么是需要外挂32.768k晶振的,外部晶振误差一般在20ppm以内,算下来一天的误差在1.7s左右,使用内部的话,校准后误差在2/1000左右,一天误差在170s左右,

如果一天误差很大,可能是使用的内部晶振,但是没有校准导致,蓝牙程序中,两分钟会校准一次。


97a38e35ad71f14d4af774ba86256a0.png




是的内部晶振,

蓝牙程序中,两分钟会校准一次。调用下面的就行了么


1706750594140.png


对的,例程中本身是开启了这个校准任务的,只要你不关闭就行,

#if(defined BLE_CALIBRATION_ENABLE) && (BLE_CALIBRATION_ENABLE == TRUE)
    tmos_start_task(halTaskID, HAL_REG_INIT_EVENT, MS1_TO_SYSTEM_TIME(BLE_CALIBRATION_PERIOD)); // 添加校准任务,单次校准耗时小于10ms
#endif



好的,谢谢


只有登录才能回复,可以选择微信账号登录