当前位置: 首页 > article >正文

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

 


http://www.kler.cn/a/305083.html

相关文章:

  • adb shell常用命令
  • Rust 建造者模式
  • Python如何用正则表达式匹配并处理文件名
  • 【CICD】GitLab Runner 和执行器(Executor
  • [HNCTF 2022 Week1]ret2shellcode-好久不见12
  • 基于Zynq FPGA对雷龙SD NAND的测试
  • ansible_find模块
  • 计算机四级数据库原理考试大纲.md
  • 37. MyBatis-Plus是什么?它与MyBatis的主要区别是什么?
  • 音视频开发常见的开源项目汇总
  • 新挂载的磁盘不能创建文件
  • 数据清洗-缺失值填充-随机森林填充
  • 【Django】Django Class-Based Views (CBV) 与 DRF APIView 的区别解析
  • Python基础语法(1)上
  • 基于微信小程序的图书馆预约占座系统
  • 【vscode】 快速生成react组件
  • uniapp小程序,使用腾讯地图获取定位
  • 监听html元素是否被删除,删除之后重新生成被删除的元素
  • PHP悦读随行一键借阅图书小程序
  • 【hot100-java】【环形链表】
  • 代理IP设置后IP不变?可能的原因及解决方法
  • 网站优化与服务器:性能提升的双重奏
  • Orchestrator 与 Mysql 8.0 的兼容性
  • NLP中文本生成任务
  • 【系统规划与管理师】【案例分析】【考点】【答案篇】第6章 IT服务运营管理
  • CSP-J 算法基础 前缀和与差分