stm32 can 简单分析

1.发送过程寄存器总结

TXRQ = 1 发送can报文,由软件对其置’1’,来请求发送邮箱的数据。当数据发送完成,邮箱为空时,硬件对其清’0’。

CAN_MCR寄存器的TXFP位置’1’,can发送为fifo模式,先发送的先发出
RQCP TXOK = 1  发送成功
仲裁失败  ALST置一
发生错误  TERR置一
TME  = 1发送邮箱为空
ABRQ = 1    中止

如果CAN_IER 寄存器 TMEIE = 1, 当RQCPx位被置’1’时,产生中断。

2.接受过程寄存器总结

FMP[0:1] 接受fifo中的数据数量

RFOM = 1, 一个数据已经被取走了,FMP[0:1]的值减一,(读完后,软件设置)

FOVR = 1接受fifo溢出标志,(FIFO锁定功能位)RFLM=0,最新的数据覆盖,上一次的数据,RFLM =1,最新的数据被丢弃

如果CAN_IER 寄存器  FMPIE = 1, 每接收到1个数据FMP+1, 并且产生一次中断

如果CAN_IER 寄存器 FFIE = 1,CAN_RFR寄 存 器 的FULL位 被 置’1’,产生一个fifo满中断

如果CAN_IER寄存器 FOVIE位为’1’,FOVR位被置’1’ ,那么就会产生 一个溢出中断请求。

3.标识符过滤

4.

5.中断

你可能感兴趣的:(stm32)