feat(spi): 实现SPI同步通信协议和主动推送机制

- 实现新的SPI同步帧格式,采用0xA5 0x5A起始符和CRC32校验,提升通信可靠性
- 添加GD32与ESP32间的握手机制,通过PB6开漏输出实现SPIready线与控制
- 实现异步OTA启动机制,将Flash操作延迟到主循环执行,避免SPI ISR阻塞
- 改进CAN反馈命令处理,提取通用payload构建函数支持主动推送模式
- 实现GD32主动按铃机制,循环推送CAN反馈数据到ESP32,减少轮询开销
- 添加SPI通信超时保护和死锁防护机制,确保系统稳定性
This commit is contained in:
cbb
2026-07-08 02:51:24 +08:00
parent b78e36ff37
commit 33037bc5a3
9 changed files with 509 additions and 163 deletions
+2 -2
View File
@@ -18,7 +18,7 @@ constexpr const char *APP_BANNER_TEXT = "GD32E508 DCU task scheduler start";
constexpr uint32_t APP_FW_VERSION_MAJOR = 1U;
constexpr uint32_t APP_FW_VERSION_MINOR = 2U;
constexpr uint32_t APP_FW_VERSION_PATCH = 3U;
constexpr uint32_t APP_FW_VERSION_BUILD = 1U;
constexpr uint32_t APP_FW_VERSION_BUILD = 2U;
/** @brief USART0 默认波特率。 */
@@ -109,7 +109,7 @@ constexpr uint32_t CONFIG_CAN_DATA_BS2 = CAN_BT_BS2_1TQ;
#define CONFIG_CAN_FD_BRS_ENABLE 1U
/** @brief CAN0 通道使能开关:true=启用初始化/收发/自测,false=完全禁用。 */
constexpr bool CONFIG_CAN_CH0_ENABLE = true;
constexpr bool CONFIG_CAN_CH0_ENABLE = false;
/** @brief CAN1 通道使能开关。 */
constexpr bool CONFIG_CAN_CH1_ENABLE = false;
/** @brief CAN2 通道使能开关。 */