STM32入门学习笔记之CAN通信实验3

电子说

1.3w人已加入

描述

18.2.9 CAN过滤器FIFO关联寄存器:CAN_FFA1R

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FFA[27:16]
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FFA[15:0]

Bit 29~Bit 0:过滤器关联设置

0:过滤器被关联到FIFO0

1:过滤器被关联到FIFO1

18.2.10 CAN过滤器激活寄存器:CAN_FA1R

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FACT[27:16]
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FACT[15:0]

Bit 29~Bit 0:过滤器激活

0:过滤器被禁用

1:过滤器被激活

18.2.11 发送邮箱标识符寄存器:CAN_TIxR

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
STID[10:0]/EXID[28:18] EXID[17:13]
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EXID[12:0] IDE RTR TXRQ

Bit 31~Bit 21:标准标识符或扩展标识符,依据IDE位的内容,这些位或是标准标识符,或是扩展身份标识的高字节

Bit 20~Bit 3:扩展标识符,扩展身份标识的低字节

Bit 2:标识符选择

0:使用标准标识符

1:使用扩展标识符

Bit 1:远程发送请求

0:数据帧

1:远程帧

Bit 0:发送数据请求,由软件对其置1,来请求发送邮箱的数据。当数据发送完成,邮箱为空时,硬件对其清0

18.2.12 发送邮箱数据长度和时间戳寄存器:CAN_TDTxR

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TIME[15:0]
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- TGT - DLC[3:0]

Bit 31~Bit 16:报文时间戳,该域包含了,在发送该报文SOF的时刻,16位定时器的值

Bit 8:发送时间戳(只有在CAN处于时间触发通信模式才有效)

0:不发送时间戳TIME[15:0]

1:发送时间戳TIME[15:0]

注:在长度为8的报文中,时间戳TIME[15:0]是最后2个发送的字节:TIME[7:0]作为第7个字节,TIME[15:8]为第8个字节,替换了写入CAN_TDHxR[31:16]的数据。为了把时间戳的2个字节发送出去,DLC必须编程为8。

Bit 3~Bit 0:发送数据长度,指定数据报文的数据长度或者远程帧请求的数据长度

18.2.13 发送邮箱低字节数据寄存器:CAN_TDLxR

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DATA3[7:0] DATA2[7:0]
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DATA1[7:0] DATA0[7:0]

Bit 31~Bit 24:数据字节3

Bit 23~Bit 16:数据字节2

Bit 15~Bit 8:数据字节1

Bit 7~Bit 0:数据字节0

18.2.14 发送邮箱高字节数据寄存器:CAN_TDHxR

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DATA7[7:0] DATA6[7:0]
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DATA5[7:0] DATA4[7:0]

Bit 31~Bit 24:数据字节7

Bit 23~Bit 16:数据字节6

Bit 15~Bit 8:数据字节5

Bit 7~Bit 0:数据字节4

18.2.15 接收邮箱标识符寄存器:CAN_RIxR

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
STID[10:0]/EXID[28:18] EXID[17:13]
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EXID[12:0] IDE RTR -

Bit 31~Bit 21:标准标识符或扩展标识符,依据IDE位的内容,这些位或是标准标识符,或是扩展身份标识的高字节

Bit 20~Bit 3:扩展标识符,扩展身份标识的低字节

Bit 2:标识符选择

0:使用标准标识符

1:使用扩展标识符

Bit 1:远程发送请求

0:数据帧

1:远程帧

18.2.16 接收邮箱数据长度和时间戳寄存器:CAN_RDTxR

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TIME[15:0]
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FMI[7:0] - DLC[3:0]

Bit 31~Bit 16:报文时间戳,该域包含了,在接收该报文SOF的时刻,16位定时器的值

Bit 15~Bit 8:过滤器匹配序号

Bit 3~Bit 0:接收数据长度

18.2.17 接收邮箱低字节数据寄存器:CAN_RDLxR

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DATA3[7:0] DATA2[7:0]
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DATA1[7:0] DATA0[7:0]

Bit 31~Bit 24:数据字节3

Bit 23~Bit 16:数据字节2

Bit 15~Bit 8:数据字节1

Bit 7~Bit 0:数据字节0

18.2.18 接收邮箱高字节数据寄存器:CAN_RDHxR

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DATA7[7:0] DATA6[7:0]
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DATA5[7:0] DATA4[7:0]

Bit 31~Bit 24:数据字节7

Bit 23~Bit 16:数据字节6

Bit 15~Bit 8:数据字节5

Bit 7~Bit 0:数据字节4

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分