RRJ67 发表于 2024-2-27 18:13:47

RTC可以实现微秒级时间戳吗

硬汉哥求助,最近项目上需要将每包数据加上时间戳,要求精度到微秒级,通过设置亚秒寄存器,发现误差较大,还有别的实现方式吗?(时间戳的时间为我在RTC上设置的时间,并非获取的实时时间)另外项目工程未加操作系统,该如何获取当前的实际实时时间啊?

regbbs 发表于 2024-2-27 22:13:56

用一个1us的定时器,设置时间的时候设置定时器的计数值。读取RTC时间的时候用这个计时器的值做us的值。不需要的话可以不开启定时器中断。

eric2013 发表于 2024-2-28 01:06:29

意外发现Cortex-M内核带64bit时间戳,比32bit的DWT时钟周期计数器更方便,再也不用担心溢出问题了
https://www.armbbs.cn/forum.php?mod=viewthread&tid=120715&fromuid=58
(出处: 硬汉嵌入式论坛)

RRJ67 发表于 2024-2-28 13:50:47

regbbs 发表于 2024-2-27 22:13
用一个1us的定时器,设置时间的时候设置定时器的计数值。读取RTC时间的时候用这个计时器的值做us的值。不需 ...

好的谢谢,我试一下

RRJ67 发表于 2024-2-28 13:52:25

eric2013 发表于 2024-2-28 01:06
意外发现Cortex-M内核带64bit时间戳,比32bit的DWT时钟周期计数器更方便,再也不用担心溢出问题了
https:/ ...

好的硬汉哥,我学习一下,视频里STM32H743的参考手册在哪里可以下载啊,我手头上的和视频里的不一样

RRJ67 发表于 2024-2-28 14:48:29

eric2013 发表于 2024-2-28 01:06
意外发现Cortex-M内核带64bit时间戳,比32bit的DWT时钟周期计数器更方便,再也不用担心溢出问题了
https:/ ...

硬汉哥,得到TSG_CNTCVL+ TSG_CNTCVU*4294967296这个值之后,如何转换成标准的时间戳啊,我通过串口打印出来看这个值好像不是标准时间戳,大佬请问还需要如何转换啊?之前没用过这个不太了解

eric2013 发表于 2024-2-29 08:18:16

RRJ67 发表于 2024-2-28 14:48
硬汉哥,得到TSG_CNTCVL+ TSG_CNTCVU*4294967296这个值之后,如何转换成标准的时间戳啊,我通过串口打 ...

这个是从上电开始运行的,秒全部使用RTC,us部分全部用这个即可。
页: [1]
查看完整版本: RTC可以实现微秒级时间戳吗