硬件平台:STM32F413
以前用在STM32F4平台用HAL库使用过CAN1外设,功能正常的;
今天重新移植到另外一个项目时改用CAN2时遇到两个问题:
1.数据发送失败;
解决方法:使能CAN1时钟就可以发送数据了;
因为仅仅使用CAN2时也需要打开CAN1的时钟,
旧版本HAL库上找到这个说明,可能是硬件上的BUG限制吧
2.使能CAN1时钟后,还是不能接收数据;
解决方法:将滤波器编号改为14,就可以接收数据了。
看到网上有文章说使用CAN2的时候滤波器编号FilterBank要大于等于14
以上两个情况,不知什么原因,有哪位盆友知道的留言下。