找回密码
 立即注册
查看: 326|回复: 7

AI32CAN总线滤波问题 (已解决)

[复制链接]
已绑定手机

3

主题

5

回帖

24

积分

新手上路

积分
24
发表于 2024-11-5 11:01:56 | 显示全部楼层 |阅读模式
本帖最后由 牢星运 于 2024-11-5 14:35 编辑

如题,我想让上位机给AI32发送指定ID的扩展帧。对AI32的两个CAN总线验收寄存器做了如下设置:

                CAN_write_reg(MR ,0x01);        //退出Reset Mode,设置为单滤波器
                CAN_write_reg(ACR0,0x18);        //总线验收代码寄存器
                CAN_write_reg(ACR1,0x28);        
                CAN_write_reg(ACR2,0xD0);        
                CAN_write_reg(ACR3,0xE0);        
                CAN_write_reg(AMR0,0x00);        //总线验收屏蔽寄存器
                CAN_write_reg(AMR1,0x00);
                CAN_write_reg(AMR2,0x00);
                CAN_write_reg(AMR3,0x07);

上位机发送扩展帧的ID是0x1828D0E0,但是单片机就是没有接收到。我是让单片机接收到帧后,就发出数据到电脑,但现在电脑的帧发出去后,单片机就没反应,不会往回发消息。
我把总线验收都屏蔽后,就能正常实现上述功能,就是把AMR都设成0xFF
请问我是哪里设置错误了吗?
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6841

积分

论坛元老

积分
6841
发表于 2024-11-5 14:00:31 | 显示全部楼层
规格书里有介绍扩展帧单滤波器配置规则:
截图202411051356498653.jpg
按照你的设置,CAN控制器允许接收的CAN ID是:0x1828D0E0>>3
也就是:0x03051A1C
回复 支持 反对

使用道具 举报 送花

已绑定手机

3

主题

5

回帖

24

积分

新手上路

积分
24
发表于 2024-11-5 14:14:25 | 显示全部楼层
为什么按我的设置,发送的帧ID还得右移三位呢?0x1828D0E0不是最高位算ID.28,然后最低三位无效的吗?
回复 支持 反对

使用道具 举报 送花

已绑定手机

3

主题

5

回帖

24

积分

新手上路

积分
24
发表于 2024-11-5 14:17:23 | 显示全部楼层
乘风*** 发表于 2024-11-5 14:00
规格书里有介绍扩展帧单滤波器配置规则:

按照你的设置,CAN控制器允许接收的CAN ID是:0x1828D0E0>>3

按您的说法,那么AMR3应该是最低位对应的是RTR,然后AMR0最高两位无效,高5位对应ID.28吧?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6841

积分

论坛元老

积分
6841
发表于 2024-11-5 14:22:03 | 显示全部楼层
牢*** 发表于 2024-11-5 14:17
按您的说法,那么AMR3应该是最低位对应的是RTR,然后AMR0最高两位无效,高5位对应ID.28吧? ...

AMR3的bit0,bit1无效,bit2是RTR。
AMR0~AMR2内容都是有效的。
回复 支持 反对

使用道具 举报 送花

已绑定手机

3

主题

5

回帖

24

积分

新手上路

积分
24
发表于 2024-11-5 14:29:57 | 显示全部楼层
乘风*** 发表于 2024-11-5 14:00
规格书里有介绍扩展帧单滤波器配置规则:

按照你的设置,CAN控制器允许接收的CAN ID是:0x1828D0E0>>3

嘶,懂了懂了,确实得先把ID左移三位才是寄存器的值,不然ID的低三位就被忽略了。ID的是29位,因为十六进制数的关系所以我平时发送的时候用了U32,其实高三位是无效的。
回复 支持 反对

使用道具 举报 送花

已绑定手机

3

主题

5

回帖

24

积分

新手上路

积分
24
发表于 2024-11-5 14:30:26 | 显示全部楼层
乘风*** 发表于 2024-11-5 14:00
规格书里有介绍扩展帧单滤波器配置规则:

按照你的设置,CAN控制器允许接收的CAN ID是:0x1828D0E0>>3

太感谢了老哥{:5_300:}
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:321
  • 最近打卡:2025-05-01 21:04:13
已绑定手机

21

主题

487

回帖

1027

积分

金牌会员

积分
1027
发表于 2024-12-20 20:28:23 | 显示全部楼层

正好我也要用到过滤,感谢你们的讨论,我也学习了

回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 06:42 , Processed in 0.176276 second(s), 101 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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