CAN总线-STM32上CAN外设

1.STM32 CAN外设简介

2.CAN网拓扑结构

3.CAN收发器电路

4.CAN框图

5.CAN基本结构

6.发送过程

7.接收过程

8.发送和接收配置位

9.标识过滤器(重点)

这里的FBMX模式设置的列表模式:你在列表中输入你想要的报文ID,不在你列表中的ID屏蔽掉,在列表中的ID进行读取。

R1寄存器中,如果你想要填写扩展ID号前29位填入你想要的报文ID,如果填入标准报文ID直接写入前面11位ID号。如果写入的是扩展ID则IDE为1,反之为0。RTR为0时是数据报文,为1时是遥控报文。

R1的低16位为一个过滤器,高16位为一个过滤器。而这16位的高11位填入ID号。

屏蔽模式:输入你想要的报文ID,和你输入的报文不相同的全部屏蔽掉。例如我现在拥有一百个温度测量器,和一百个湿度测量器,规定温度测量器的数据为0X100~0X1ff,湿度测量器的数据0X200~0X2ff。我现在只想要温度测量器的数据,我们就输入以0X1**为格式的ID报文,把其他格式的ID报文屏蔽掉。

扩展ID报文:R1寄存器,前29位填入ID。IDE为1,RTR0为数据,1为遥控。

R2寄存器,假如我R1寄存器填入的ID为0X23450000,我想要0X2345****格式的报文,则R2中填入0XFFFF0000,也就是你想要的数据在R2中对应位填1。

例子:

标准ID报文:低16位相当于扩展32位中的R1,高16位相当于R2.

例子:

总列:

10.测试模式

11.工作模式

12.位时间特性

13.中断

相关推荐
2401_843785232 小时前
STM32 AD多通道
stm32·单片机·嵌入式硬件
厂太_STAB_丝针2 小时前
【自学嵌入式(8)天气时钟:天气模块开发、主函数编写】
c语言·单片机·嵌入式硬件
charlie1145141914 小时前
从0开始使用面对对象C语言搭建一个基于OLED的图形显示框架(协议层封装)
c语言·驱动开发·单片机·学习·教程·oled
简知圈8 小时前
【04-自己画P封装,并添加已有3D封装】
笔记·stm32·单片机·学习·pcb工艺
徐某人..8 小时前
ARM嵌入式学习--第十天(UART)
arm开发·单片机·学习·arm
Ronin-Lotus10 小时前
嵌入式硬件篇---CPU&GPU&TPU
嵌入式硬件·学习·cpu·gpu·tpu
linhhanpy11 小时前
自制虚拟机(C/C++)(二、分析引导扇区,虚拟机读二进制文件img软盘)
c语言·汇编·c++·python·stm32·操作系统
LS_learner12 小时前
42步进电机
嵌入式硬件
LS_learner12 小时前
PCA9685 一款由 NXP Semiconductors 生产的 16 通道、12 位 PWM(脉宽调制)控制器芯片
嵌入式硬件
stm32发烧友16 小时前
基于 STM32 的智能电梯控制系统
stm32·单片机·嵌入式硬件