1、STM32自带了基本扩展CAN外设,又称bxCAN,bxCAN的特点如下:

STM32 CAN控制器简介_寄存器

2、模式:分为工作模式、测试模式、调试模式

STM32 CAN控制器简介_工作原理_02

睡眠模式主要用于降低功耗!

在静默模式下的工作原理

STM32 CAN控制器简介_数据_03

由图可知,它只会接受来自于can的数据,不会发送数据,其CANTX始终为1.可以监控总线上的数据

环回模式的工作原理:

STM32 CAN控制器简介_工作原理_04

它只能发送到CAN总线上,不能接收,但是他在自己内部有一个环路,可以发回给自己,即可以自发自收。

环回静默模式的工作原理:

STM32 CAN控制器简介_寄存器_05

它不与CAN总线进行通信,只是发给自己,如上图所示

3、bxCAN框图

F103只有一个主can,F4有两个can:一个主can一个从can;

STM32 CAN控制器简介_工作原理_06

4、标识符筛选器

STM32 CAN控制器简介_数据_07

STM32 CAN控制器简介_工作原理_08

STM32 CAN控制器简介_工作原理_09

5、发送流程

STM32 CAN控制器简介_寄存器_10

STM32 CAN控制器简介_数据_11

STM32 CAN控制器简介_工作原理_12

STM32 CAN控制器简介_数据_13

两个can通信的话其波特率必须一致

6、寄存器简介

STM32 CAN控制器简介_寄存器_14

STM32 CAN控制器简介_工作原理_15

STM32 CAN控制器简介_数据_16

STM32 CAN控制器简介_工作原理_17

STM32 CAN控制器简介_寄存器_18

STM32 CAN控制器简介_寄存器_19

STM32 CAN控制器简介_数据_20

STM32 CAN控制器简介_数据_21

STM32 CAN控制器简介_工作原理_22

STM32 CAN控制器简介_工作原理_23

STM32 CAN控制器简介_寄存器_24

STM32 CAN控制器简介_寄存器_25

STM32 CAN控制器简介_工作原理_26

7、初始化流程

STM32 CAN控制器简介_工作原理_27

8、总结

STM32 CAN控制器简介_寄存器_28