OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6417|回复: 3

CAN 使用扩展ID,掩码模式

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2021-4-13
在线时间
6 小时
发表于 2021-8-16 15:30:40 | 显示全部楼层 |阅读模式
10金钱
背景:本人CAN新手,学习CAN的时候有些细的地方不太明白,例程中给的说明又不够。现在遇到个问题,想对扩展ID进行细化使用,将某几位定义为一种功能。比如,EXTID[6:1]为标志位且必须为全1,EXTID[28:23]为版本号且必须为0x21,EXTID[15:8]为命令ID但只能为选定的几个值之一,其他位就为任意值。
问题:采用掩码模式,那么在初始化CAN的时候,针对上述情况,如何配置CAN_FilterInit()的结构体成员FilterId和MaskId啊?

最佳答案

查看完整内容[请看2#楼]

掩码模式: 分为两个寄存器:ID寄存器和掩码寄存器 掩码为1的表示接收到的标识符必须与ID寄存器的必须保持一致 例如: 掩码寄存器的bit0,bit3, bit5 设置为1 则接收到的标识符的bit0,bit3, bit5 必须与ID寄存器的bit0,bit3, bit5 保持一致,不一致的被过滤掉
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

17

主题

175

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1012
金钱
1012
注册时间
2014-4-7
在线时间
98 小时
发表于 2021-8-16 15:30:41 | 显示全部楼层
掩码模式:
分为两个寄存器:ID寄存器和掩码寄存器

掩码为1的表示接收到的标识符必须与ID寄存器的必须保持一致

例如:
掩码寄存器的bit0,bit3, bit5 设置为1
则接收到的标识符的bit0,bit3, bit5 必须与ID寄存器的bit0,bit3, bit5 保持一致,不一致的被过滤掉
在你没有做出成绩之前,这个世界不会在乎你的自尊。
回复

使用道具 举报

2

主题

592

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1458
金钱
1458
注册时间
2019-7-28
在线时间
137 小时
发表于 2021-8-17 10:47:23 | 显示全部楼层
你看看我发的文档

STM32CAN发送和接收过滤详解.pdf

252.93 KB, 下载次数: 47

回复

使用道具 举报

0

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2022-3-15
在线时间
12 小时
发表于 2023-5-28 20:07:26 | 显示全部楼层
lpwithv 发表于 2021-8-17 10:47
你看看我发的文档

可以可以 感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 08:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表