fkl523 发表于 2018-10-24 14:45:34

请教大家,CAN控制器的时间触发通信怎么用??

之前的理解是,往TDTR的TIME写入时间值,等内部计数器达到了,便会产生触发发送操作,

但实验的结果并非如此,因为实验中,无论软件往这个TIME写入何值,发送完成后再去读TIME,TIME都被硬件更新成了同一个值(应该是发送时刻内部计数器的值),

我的疑问是,1 . 如果写入TIME的值没有影响,为什么要可写?
                     2.ST32怎么完成时间触发通信的?

谢谢各位前辈。

发表于 2018-10-24 14:49:58

楼主是不是理解错了。此字段包含在进行 SOF 发送时所捕获的 16 位定时器值。这个是记录发送时的时间戳。定时触发应该由程序控制。

发表于 2018-10-24 14:52:00

时间触发通信模式
在此模式下,CAN 硬件的内部计数器激活,用于为接收和发送邮箱生成时间戳值,这些值分 别存储在 CAN_RDTxR/CAN_TDTxR 寄存器中。内部计数器在每个 CAN 位时间递增(请参 见第 24.7.7 节:位时序)。在接收和发送时,都会在帧起始位的采样点捕获内部计数器。

fkl523 发表于 2018-10-24 16:52:39

安 发表于 2018-10-24 14:52
时间触发通信模式
在此模式下,CAN 硬件的内部计数器激活,用于为接收和发送邮箱生成时间戳值,这些值分 别 ...

感谢版主,应该你的理解是对的,:victory:

can1init 发表于 2020-4-9 10:56:29

有库函数可以读取时间戳么?是哪一个呀
页: [1]
查看完整版本: 请教大家,CAN控制器的时间触发通信怎么用??