OpenEdv-开源电子网

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

请大佬帮忙看看我写的f4的can通讯16位屏蔽模式思路对不对,用三个板子1发,2接;2发3接;3发1接;不知道哪里有问题

[复制链接]

1

主题

3

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2019-8-31
在线时间
4 小时
发表于 2019-12-6 18:19:17 | 显示全部楼层 |阅读模式
3金钱

请大佬帮忙看看我写的f4的can通讯16位屏蔽模式思路对不对,用三个板子1发,2接;2发3接;3发1接;不知道哪 ...

请大佬帮忙看看我写的f4的can通讯16位屏蔽模式思路对不对,用三个板子1发,2接;2发3接;3发1接;不知道哪 ...

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2019-8-31
在线时间
4 小时
 楼主| 发表于 2019-12-6 18:19:59 | 显示全部楼层
请大佬帮忙看看我写的f4的can通讯16位屏蔽模式思路对不对,用三个板子1发,2接;2发3接;3发1接;不知道哪里有问题
回复

使用道具 举报

57

主题

1680

帖子

3

精华

资深版主

Rank: 8Rank: 8

积分
4306
金钱
4306
注册时间
2018-6-30
在线时间
808 小时
发表于 2019-12-6 18:54:09 | 显示全部楼层
帮顶!
回复

使用道具 举报

28

主题

294

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1790
金钱
1790
注册时间
2018-3-26
在线时间
294 小时
发表于 2019-12-7 09:10:26 | 显示全部楼层
本帖最后由 htao 于 2019-12-7 09:12 编辑

治好了我多年的颈椎病,,,
就三个ID用标识符列表模式吧,以下是只接收0x15的标准ID。
  1. CAN1_FilerConf.FilterIdHigh                        =        (((u32)0x15<<21)&0xffff0000)>>16;                //32位ID CAN_ID
  2.     CAN1_FilerConf.FilterIdLow                        =        (((u32)0x15<<21)|CAN_ID_STD)&0xffff;
  3.     CAN1_FilerConf.FilterMaskIdHigh                =        0xFFFF;                                                                        //32位MASK
  4.     CAN1_FilerConf.FilterMaskIdLow                =        0xFFFF;  
  5.     CAN1_FilerConf.FilterFIFOAssignment        =        CAN_FILTER_FIFO0;                                                //过滤器0关联到FIFO0
  6.     CAN1_FilerConf.FilterNumber                        =        0;                                                                                //过滤器0
  7.     CAN1_FilerConf.FilterMode                        =        CAN_FILTERMODE_IDLIST;                                        //标识符列表模式
  8.     CAN1_FilerConf.FilterScale                        =        CAN_FILTERSCALE_32BIT;                                        //过滤器位宽为32位
  9.     CAN1_FilerConf.FilterActivation                =        ENABLE;                                                                        //激活滤波器0
  10.     CAN1_FilerConf.BankNumber                        =        14;
  11.        
  12.     if(HAL_CAN_ConfigFilter(&CAN1_Handler,&CAN1_FilerConf)!=HAL_OK) return 2;//滤波器初始化
复制代码


茵茵猪头
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2019-8-31
在线时间
4 小时
 楼主| 发表于 2019-12-7 14:48:38 | 显示全部楼层
htao 发表于 2019-12-7 09:10
治好了我多年的颈椎病,,,
就三个ID用标识符列表模式吧,以下是只接收0x15的标准ID。

我是想掌握它有四个模式,前面三个模式都没问题,但是用16位的标识符掩码就会出问题
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-23 12:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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