版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/langshi_2011/article/details/81938616
维护一个项目,采用STM32F2,需要添加发命令进行初始化CAN,遇到一个问题为:
问题:先初始化CAN2,再初始化CAN1会产生CAN2无法工作问题。
分析原因为:CAN1复位后,CAN1->FA1R会复位。导致CAN2设置的过滤器都被禁用了
解决方法:若两CAN已经正常工作,发命令进行初始化CAN1时,需要重新初始化CAN2
CANopen(CAN1, 500000);
CANopen(CAN2, 500000);