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.中断

相关推荐
宵时待雨1 小时前
STM32笔记归纳9:定时器
笔记·stm32·单片机·嵌入式硬件
逐步前行1 小时前
STM32_新建工程(寄存器版)
stm32·单片机·嵌入式硬件
bai5459362 小时前
STM32 CubeIDE 通过PWM占空比控制舵机角度
stm32·单片机·嵌入式硬件
松涛和鸣3 小时前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
简单中的复杂4 小时前
【避坑指南】RK3576 Linux SDK 编译:解决 Buildroot 卡死在 host-gcc-final 的终极方案
linux·嵌入式硬件
上海合宙LuatOS4 小时前
LuatOS核心库API——【audio 】
java·网络·单片机·嵌入式硬件·物联网·音视频·硬件工程
Hhh __灏4 小时前
stm32的SRAM内存不足如何分析和优化?堆栈空间如何优化?
单片机
LS_learner5 小时前
Snapd和Apt—Linux 上两种完全不同的软件包管理系统
嵌入式硬件
点灯小铭5 小时前
基于51单片机的双档交流电压表设计与实现
单片机·嵌入式硬件·毕业设计·51单片机·课程设计·期末大作业