OpenEdv-开源电子网

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

stm32f105/107的CAN2程序注意点

[复制链接]

8

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2013-7-9
在线时间
5 小时
发表于 2018-3-28 16:55:08 | 显示全部楼层 |阅读模式
我最近在调试stm32f105vct6的CAN2通信功能,我的CAN1没用到,只用到了CAN2,硬件管脚分别是PB13和PB12,但是一直调不通,找了ST官方库例程,网上例程,发现好多同仁都困惑CAN2发送没有问题,但接受不到数据,确切的说是接受数据后无法进入中断或查询FIFO中没有数据。通过示波器观察,总线上是有收发数据的。
解决办法
步骤1:使用CAN1初始化函数,将对应的时钟,CAN编号等修改为CAN2,此为基本配置,不赘述;
步骤2:开启CAN1的RCC,因为CAN1是主,CAN2是从,CAN2无法直接访问SRAM存储器;
(见附图中参考手册对CAN的描述,一直没理解主CAN与从CAN用法上有啥区别,现在再回过头来看看这句话,似乎迷迷糊糊懂了点儿)
步骤3:过滤器的配置,如果对CAN2的过滤器使用的是14~27,那么恭喜你,你成功的躲避了一个问题点,你的程序可正常收发了;如果你有强迫症,使用了0~13中的过滤器,必须添加了一个函数CAN_SlaveStartBank(x);//x<=你设置的过滤器编号,此函数的意义请在参考手册寄存描述中查看。

以上注意点希望能帮助到大家。
另外,多谢“我是来捣乱的”在帖子http://www.openedv.com/posts/list/32378.htm中的回答帮助了我,“我来补充一下吧,107单独使用CAN2按照CAN1来配置CAN2,需要修改的地方有两点:一,过滤器通道选择14;二、开启CAN1的RCC,因为CAN1是主,CAN2是从,CAN2无法直接访问SRAM存储器”,但其提到“一,过滤器通道选择14”似乎不太严谨,但可正常使用,如果不同已将,大家提出来一起交流,谢谢!

参考手册中对双CAN的解释

参考手册中对双CAN的解释
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2018-4-8
在线时间
9 小时
发表于 2018-4-10 17:23:47 | 显示全部楼层
老哥,你确定有stm32f105vct6这款芯片?能加下QQ一起谈论下吗?我最近也在研究CAN协议,我QQ932789469
回复 支持 反对

使用道具 举报

27

主题

427

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
4371
金钱
4371
注册时间
2017-5-30
在线时间
579 小时
发表于 2018-7-3 21:47:51 | 显示全部楼层
本帖最后由 whj467467274672 于 2018-7-3 21:48 编辑

今天调试107的CAN2发送也有问题,看到这个贴子了明天再试试。目前测试过了环回模式可以,单独CAN2发送是0x04,发送不出去,接收也不会进中断
回复 支持 反对

使用道具 举报

3

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2019-10-21
在线时间
22 小时
发表于 2020-6-22 10:36:06 | 显示全部楼层
whj467467274672 发表于 2018-7-3 21:47
今天调试107的CAN2发送也有问题,看到这个贴子了明天再试试。目前测试过了环回模式可以,单独CAN2发送是0x0 ...

你好,我也在用F107 不过去哦用的是A11 A12 CAN1 发送数据,遇到了点问题,想请教你。我的qq 898527728,感谢大佬
回复 支持 反对

使用道具 举报

27

主题

427

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
4371
金钱
4371
注册时间
2017-5-30
在线时间
579 小时
发表于 2020-6-22 11:00:53 | 显示全部楼层
yanghang 发表于 2020-6-22 10:36
你好,我也在用F107 不过去哦用的是A11 A12 CAN1 发送数据,遇到了点问题,想请教你。我的qq 898527728, ...

107的CAN1发送报文问题应该是小问题,你可以先说下你的问题
回复 支持 反对

使用道具 举报

3

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2019-10-21
在线时间
22 小时
发表于 2020-6-23 21:04:42 | 显示全部楼层
whj467467274672 发表于 2020-6-22 11:00
107的CAN1发送报文问题应该是小问题,你可以先说下你的问题

我用Cube 弄好了,应该是之前的工程底层有问题
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-29 10:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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