你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

如何利用stm32的bxCAN记录接收每条报文的具体时间

[复制链接]
can1init 提问时间:2020-4-20 22:28 /
悬赏8ST金币未解决
        CAN 接收 FIFO 邮箱数据长度控制和时间戳寄存器 (CAN_RDTxR)的高16位是记录接收每条CAN报文的具体时间,但是16位记录的时间非常短暂。而且我找不到有关的库函数读取这16位的时间,是我太笨了没找到还是直接对寄存器操作读取这16位的值?



        如果说利用TIM定时器对这个16位内部计时器再次进行计数延长计时时间是否可行?这个内部计数器是否有输出中断(我没找到,官方手册对这个计时器描述好少啊)可以和TIM定时器连接上以延长计时时间?
捕获1.PNG 捕获2.PNG
        我的主要目的是想记录接收每条报文的具体时间,如果有其他方法也可以,如果实在没有办法,是不是只能单纯利用TIM定时器记录时间了,但毕竟可能TIM定时器不如bxCAN硬件自带的定时器好些。
       谢谢各位大佬了!!!

收藏 评论1 发布时间:2020-4-20 22:28

举报

1个回答
butterflyspring 回答时间:2020-5-9 14:45:54
这个就是CAN外设里一个自由运行的计数器,只是在发送或接收的时候捕获下来,应该是作为相对时间来看。估计在网络中多个节点通讯时可以记录相对时间。利用这个时间戳可以很精细的记录。 如果通许不那么快是可以软件读取定时器(甚至RTC计数器)值。当然这个时间相对于时间戳是滞后一些,没有实时那么精准,但也可以反映相对时间。

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版