stm32 RTC如何获取ms计时
Posted zhulaoda
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stm32 RTC如何获取ms计时相关的知识,希望对你有一定的参考价值。
最近做个CAN记录器,想保存时间但是RTC只记录到秒,不能保存ms。百度没看到解决方法。自己捣鼓了一下。
RTC有个亚秒寄存器,通过计算可以得到ms级计时。
RTC_TimeTypeDef stimestructure; RTC_DateTypeDef sdatestructure; while (1) { /* USER CODE END WHILE */ HAL_RTC_GetTime(&hrtc, &stimestructure, RTC_FORMAT_BIN); HAL_RTC_GetDate(&hrtc, &sdatestructure, RTC_FORMAT_BIN); // 亚秒值 printf("%.3f,%d ",(255.0-stimestructure.SubSeconds)/256, HAL_GetTick()); // printf("%02d/%02d/%02d ",2000 + sdatestructure.Year, sdatestructure.Month, sdatestructure.Date); // printf("%02d:%02d:%.3f ",stimestructure.Hours, stimestructure.Minutes,stimestructure.Seconds+(255.0-stimestructure.SubSeconds)/256); HAL_Delay(10); /* USER CODE BEGIN 3 */ }
以上是关于stm32 RTC如何获取ms计时的主要内容,如果未能解决你的问题,请参考以下文章