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

[复制链接]
6098|21
wahahaheihei 发表于 2025-2-11 10:53 | 显示全部楼层
  1. uint32_t timeout = 0xFFFF;
  2. while ((CAN1->MSR & CAN_MSR_INAK) == 0 && timeout--) ;
  3. if (timeout == 0) {
  4.     printf("CAN INIT failed: Timeout while entering Init mode.\r\n");
  5. }
wahahaheihei 发表于 2025-2-11 10:53 | 显示全部楼层
检查 PCLK1 是否 >= 8MHz
手动 CAN_DeInit(CAN1)
确保 GPIO 复用和重映射
手动退出 CAN_MCR_SLEEP
可以尝试上面的步骤,看看 CAN_Init 是否可以顺利通过 while 循环。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部