OpenEdv-开源电子网

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

[开发板通用] STM32的CAN2无法接收的解决方法。

[复制链接]

88

主题

7381

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14979
金钱
14979
注册时间
2013-11-13
在线时间
1823 小时
发表于 2017-9-25 09:12:31 | 显示全部楼层 |阅读模式
本帖最后由 zuozhongkai 于 2017-9-25 09:13 编辑

前两天有朋友在使用STM32F767的CAN2的时候发现只能发送不能接收的问题,代码直接在阿波罗F7的CAN实验例程上修改的。昨天帮他看了一下,发现网上有很多人都遇到了STM32的CAN2存在只能发送无法接收的问题,有人怀疑是STM32芯片bug。但是得到答案说的最多就是在使用STM32的CAN2的时候要把CAN1的时钟使能。但是我使能CAN1的时钟以后CAN2依旧无法接收数据。偶然间看到有篇帖子(已经忘了是那一篇了)说使用CAN2的时候滤波器编号参数:FilterNumber要设置为大于等于14的。如下图所示代码(这里使用的HAL库):

`85PGG_({[)G_KVOHAJ%V63.png

将FilterNumber改为14以后(以前是0)CAN2的发送和接收都正常了。但是在STM32F7的参考手册上没有看到有类似的提示什么的,有哪位朋友知道为什么的可以回复一下。


总结一下:
在使用STM32的CAN2的时候遇到只能发送不能接收的时候需要做一下两个事情:
1、使能CAN1的时钟。(不知道是不是必须的,因为后面CAN2可以接收以后没有测试关闭CAN1时钟的话CAN2是否可以正常工作,但是最好使能上)。
2、CAN2的滤波器编号参数:FilterNumber要大于等于14(我用的14测试的,正常)。







开往春天的手扶拖拉机
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

9

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2017-10-2
在线时间
3 小时
发表于 2017-10-2 20:38:28 | 显示全部楼层
回复 支持 反对

使用道具 举报

1

主题

20

帖子

0

精华

高级会员

Rank: 4

积分
528
金钱
528
注册时间
2015-10-16
在线时间
64 小时
发表于 2017-11-22 22:36:48 | 显示全部楼层
mark
回复 支持 反对

使用道具 举报

2

主题

9

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2018-7-24
在线时间
11 小时
发表于 2018-7-24 11:27:07 | 显示全部楼层
楼主:我是小白,我遇到的问题与你相反。我用两个stm32板子,一个板子的CAN给另一个板子的CAN发数据。居然数据一直呆滞在TX邮箱里发布出去。何故?
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2019-1-7
在线时间
31 小时
发表于 2019-2-17 13:48:45 | 显示全部楼层
寄存器版本CAN2的过滤器怎么配置啊
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2019-9-5
在线时间
9 小时
发表于 2019-11-12 17:32:42 | 显示全部楼层
请教,CAN2的跟脚配置在哪里配置,在HAL_CAN_MspInit()里面配置吗?
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2020-4-27
在线时间
19 小时
发表于 2020-8-18 13:18:52 | 显示全部楼层
学习到了。。。。在HAL库中,是这个“sFilterConfig.FilterBank = 14;”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-4-20 19:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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