stm32f105同时使用can1和can2问题

在STM32开发中遇到CAN2无法正常接收数据的问题,经检查发现需开启CAN1时钟,且CAN2的过滤器从14开始设置。CAN2作为从bxCAN依赖于CAN1的主bxCAN功能,两者共享SRAM存储器。因此,使用CAN2时必须先初始化CAN1。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在做can方面的要用到can2,调试了好久没有调通,一直是能发送数据不能正常接收,检查了滤波配置开始都没有发现问题,后面仔细看stm32的使用手册,最后发现在单独使用can2的时候必须开启can1的时钟,否则收不到数据,且过滤器也要设置从14开始,在stm32参考手册有这样一段话

双CAN
● CAN1:是主bxCAN,它负责管理在从bxCAN和512字节的SRAM存储器之间的通信
● CAN2:是从bxCAN,它不能直接访问SRAM存储器
● 这2个bxCAN模块共享512字节的SRAM存储器(见图195)

总结:1、在使用can2时必须要开启can1的时钟;2、若can1和can2同时使用时,先初始化can1驱动,再初始化can2
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值