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

如何利用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硬件自带的定时器好些。
       谢谢各位大佬了!!!

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

举报

3个回答
butterflyspring 回答时间:2020-5-9 14:45:54
这个就是CAN外设里一个自由运行的计数器,只是在发送或接收的时候捕获下来,应该是作为相对时间来看。估计在网络中多个节点通讯时可以记录相对时间。利用这个时间戳可以很精细的记录。 如果通许不那么快是可以软件读取定时器(甚至RTC计数器)值。当然这个时间相对于时间戳是滞后一些,没有实时那么精准,但也可以反映相对时间。
xuaiguo1980 回答时间:2020-12-15 17:18:36
如果有个周期溢出中断也好啊,与定时器com事件连上,那就完美了
butterflyspring 回答时间:2020-12-21 16:00:04
内部链接可以实现期望的及时功能,但是如果通讯很快,每次记录时间会占用系统很多资源,代码上也不容易实现哦

所属标签

相似问题

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