经验分享 · 2023年11月23日

兆易GD32F4xx CAN1只能发送不能进入接收中断的奇葩问题

我使用的是GD32F407,CAN1根据例程初始化,使用CAN Pro调试,可以正常发送信息,但无法接收,始终不能进行接收中断。看了多个例程查了N多资料无解,最后在CSDN上发现一个解答:

要使用CAN1接收中断,除了使能RCU_CAN1之外,RCU_CAN0也得启用,不知道这是哪门子BUG。

rcu_periph_clock_enable(RCU_CAN0);
rcu_periph_clock_enable(RCU_CAN1);

使能CAN0时钟后,接收正常!