发新帖我要提问
12
返回列表
打印
[STM32F1]

GD32F103C8T6,使用ST标准库,CAN初始化失败

[复制链接]
楼主: fw19876311
手机看帖
扫描二维码
随时随地手机跟帖
21
wahahaheihei| | 2025-2-11 10:53 | 只看该作者 回帖奖励 |倒序浏览
uint32_t timeout = 0xFFFF;
while ((CAN1->MSR & CAN_MSR_INAK) == 0 && timeout--) ;
if (timeout == 0) {
    printf("CAN INIT failed: Timeout while entering Init mode.\r\n");
}

使用特权

评论回复
22
wahahaheihei| | 2025-2-11 10:53 | 只看该作者
检查 PCLK1 是否 >= 8MHz
手动 CAN_DeInit(CAN1)
确保 GPIO 复用和重映射
手动退出 CAN_MCR_SLEEP
可以尝试上面的步骤,看看 CAN_Init 是否可以顺利通过 while 循环。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则