feat(canfd): 添加通道使能控制和SPI握手信号支持

- 添加通道使能开关配置,通过sys/config.h中的CONFIG_CAN_CHx_ENABLE控制各通道
- 实现isChannelEnabled()方法用于查询通道使能状态
- 修正CAN1引脚映射配置,将RX/TX引脚对调并禁用重映射
- 修正错误计数器读取逻辑,REC字段从bit24开始提取而非bit8
- 修正busOff状态判断,使用CAN_ERR_BOERR标志位
- 调整滤波器配置时机,移到所有hardReset完成后防止共享寄存器被清零
- 在发送时增加总线健康检查,避免高错误计数时继续发送导致bus off
- 添加SPI Ready握手信号(PB6)控制,改善主从机通信同步

fix(spi): 实现SPI命令处理中的READY信号握手协议

- 添加SPI Ready信号控制,PB6输出指示从机就绪状态
- CS下降沿立即拉低READY信号防主机抢跑
- 命令处理完成且无待处理命令时拉高READY信号
- 忽略无效事务后恢复READY信号避免超时
- 在繁忙期间保持READY信号低电平通知主机等待
This commit is contained in:
cbb
2026-07-06 19:13:56 +08:00
parent 6aa21a1f9d
commit b78e36ff37
6 changed files with 397 additions and 226 deletions
+7
View File
@@ -116,6 +116,13 @@ public:
static void init();
/**
* @brief 查询指定通道是否已使能。
* @param[in] channelIndex 通道索引 0/1/2。
* @retval bool true=使能,false=禁用。
*/
static bool isChannelEnabled(uint8_t channelIndex);
/**
* @brief 切换 CANFD 接收过滤模式。
*/