码迷,mamicode.com
首页 > 其他好文 > 详细

stm32 RTC如何获取ms计时

时间:2020-06-19 10:34:51      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:date   end   获取   get   type   http   nbsp   col   不能   

  最近做个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 \r\n",(255.0-stimestructure.SubSeconds)/256, HAL_GetTick());
        
//        printf("%02d/%02d/%02d ",2000 + sdatestructure.Year, sdatestructure.Month, sdatestructure.Date);
//        printf("%02d:%02d:%.3f \r\n",stimestructure.Hours, stimestructure.Minutes,stimestructure.Seconds+(255.0-stimestructure.SubSeconds)/256);
        HAL_Delay(10);
        /* USER CODE BEGIN 3 */

    }

技术图片

技术图片

 

stm32 RTC如何获取ms计时

标签:date   end   获取   get   type   http   nbsp   col   不能   

原文地址:https://www.cnblogs.com/zhulaoda/p/13161572.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!