STM32 CAN发送邮箱和接收FIFO

STM32的CAN发送邮箱和接收FIFO

CAN发送邮箱

  • CAN外设一共有3个发送邮箱,即最多可以缓存3个待发送的报文。每个发送邮箱中包含有标识符寄存器CAN_TIxR、数据长度控制寄存器CAN_TDTxR及2个数据寄存器CAN_TDLxR、 CAN_TDHxR,它们的功能如下:
寄存器名 功能
标识符寄存器CAN_TIxR 存储待发送报文的ID、 扩展ID、 IDE位及RTR位
数据长度控制寄存器CAN_TDTxR 存储待发送报文的DLC段
低位数据寄存器CAN_TDLxR 存储待发送报文数据段的Data0-Data3这四个字节的内容
高位数据寄存器CAN_TDHxR 存储待发送报文数据段的Data4-Data7这四个字节的内容
  • 当要使用CAN外设发送报文时,把报文的各个段分解,按位置写入到这些寄存器中,并对标识符寄存器CAN_TIxR中的发送请求寄存器位TMIDxR_TXRQ置1,即可把数据发送出去。
  • 其中标识符寄存器CAN_TIxR中的STDID寄存器位比较特别。 CAN的标准标识符的总位数为11位,而扩展标识符的总位数为29位的。当报文使用扩展标识符的时候,标识符寄存器CAN_TIxR中的STDID[10:0]等效于EXTID[18:28]位,它与EXTID[17:0]共同组成完整的29位扩展标识符。

CAN接收FIFO

  • CAN外设一共有2个接收FIFO,每个FIFO中有3个邮箱,即最多可以缓存6个接收到的报文。当接收到报文时, FIFO的报文计数器会自增,而STM32内部读取FIFO数据之后,报文计数器会自减,通过状态寄存器可获知报文计数器的值,而通过前面主控制寄存器的RFLM位,可设置锁定模式,锁定模式下FIFO溢出时会丢弃新报文,非锁定模式下FIFO溢出时新报文会覆盖旧报文。
  • 跟发送邮箱类似,每个接收FIFO中包含有标识符寄存器CAN_RIxR、数据长度控制寄存器CAN_RDTxR及2个数据寄存器CAN_RDLxR、 CAN_RDHxR,其功能如下:
寄存器名 功能
标识符寄存器CAN_RIxR 存储收到报文的ID、 扩展ID、 IDE位及RTR位
数据长度控制寄存器CAN_RDTxR 存储收到报文的DLC段
低位数据寄存器CAN_RDLxR 存储收到报文数据段的Data0-Data3这四个字节的内容
高位数据寄存器CAN_RDHxR 存储收到报文数据段的Data4-Data7这四个字节的内容

相关推荐

  1. STM32 CAN发送邮箱接收FIFO

    2024-04-23 00:48:03       10 阅读
  2. stm32采用队列方式接收发送RS485串口数据

    2024-04-23 00:48:03       32 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-23 00:48:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-23 00:48:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-23 00:48:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-23 00:48:03       18 阅读

热门阅读

  1. 若依学习记录

    2024-04-23 00:48:03       12 阅读
  2. 聚类算法的学习

    2024-04-23 00:48:03       11 阅读
  3. uniapp微信小程序蓝牙连接与设备数据对接

    2024-04-23 00:48:03       12 阅读
  4. 《1w实盘and大盘基金预测 day25》

    2024-04-23 00:48:03       11 阅读
  5. 笨蛋学C++【C++基础第三弹】

    2024-04-23 00:48:03       11 阅读
  6. element UI 走马灯 initial-index动态赋值 不生效问题

    2024-04-23 00:48:03       12 阅读
  7. 【华为OD机试】最长连续手牌【C卷|200分】

    2024-04-23 00:48:03       9 阅读
  8. 金融风险评估都有什么模型

    2024-04-23 00:48:03       13 阅读
  9. iOS(Object C) 冒泡排序

    2024-04-23 00:48:03       14 阅读
  10. Android R 展讯平台关机充电动画横屏显示修改

    2024-04-23 00:48:03       13 阅读
  11. PyTorch: 点燃深度学习革新之火

    2024-04-23 00:48:03       16 阅读