解决编译错误

This commit is contained in:
2026-05-08 16:14:00 +08:00
parent 878379f101
commit 6c56fe8a60
7 changed files with 32 additions and 171 deletions

View File

@ -138,7 +138,7 @@
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
if (huart->Instance == USART3) {
MultiUART_FeedByte(PORT_UART3, uart3_rx_byte);
MultiUART_FeedByte(PORT_RS485, uart3_rx_byte);
HAL_UART_Receive_IT(&huart3, &uart3_rx_byte, 1);
}
}
@ -149,7 +149,7 @@ void CmdRouter_Task(void)
// ... UART1/UART3处理 ...
for (port_id_t port_id = 0; port_id < PORT_COUNT; port_id++) {
if (port_id == PORT_UART2) continue; // UART2单独处理
if (port_id == PORT_DEBUG) continue; // UART2单独处理
uint8_t byte;
while (MultiUART_ReadByte(port_id, &byte) > 0) {
@ -380,7 +380,7 @@ void Passthrough_Task(void)
if (node->offset < node->length) {
// 发送一个字节
uint8_t byte = node->data[node->offset++];
MultiUART_Send(PORT_UART1, &byte, 1);
MultiUART_Send(PORT_433, &byte, 1);
}
// 检查节点是否发送完成
@ -659,7 +659,7 @@ void CmdRouter_Task_UART3_Enhanced(void)
// 1. 读取UART3接收缓冲区
uint8_t byte;
while (MultiUART_ReadByte(PORT_UART3, &byte) > 0) {
while (MultiUART_ReadByte(PORT_RS485, &byte) > 0) {
// 2. 协议识别
route_result_t route = UART3_Protocol_FeedByte(byte, current_tick);
@ -844,7 +844,7 @@ void Passthrough_Task(void)
// 发送一个字节
uint8_t byte = node->data[node->offset++];
MultiUART_Send(PORT_UART1, &byte, 1);
MultiUART_Send(PORT_433, &byte, 1);
ctx->queue.pending_count--;
ctx->stats.total_bytes_sent++;
@ -902,7 +902,7 @@ uint16_t Passthrough_PushBuffer(const uint8_t *data, uint16_t length)
bool Passthrough_CanSend(void)
{
// 检查UART1 TX是否忙
return (MultiUART_GetTxAvailable(PORT_UART1) > 0) &&
return (MultiUART_GetTxAvailable(PORT_433) > 0) &&
(g_passthrough_ctx.queue.pending_count > 0);
}
```
@ -934,8 +934,8 @@ void CmdRouter_Task(void)
#else
// 原有逻辑所有数据喂给CmdParser
uint8_t byte;
while (MultiUART_ReadByte(PORT_UART3, &byte) > 0) {
CmdParser_SetSourcePort(PORT_UART3);
while (MultiUART_ReadByte(PORT_RS485, &byte) > 0) {
CmdParser_SetSourcePort(PORT_RS485);
CmdParser_FeedByte(byte, current_tick);
}
#endif
@ -955,14 +955,14 @@ static void UART3_SmartRouter_Task(uint32_t current_tick)
uint8_t byte;
// 读取所有待处理的字节
while (MultiUART_ReadByte(PORT_UART3, &byte) > 0) {
while (MultiUART_ReadByte(PORT_RS485, &byte) > 0) {
// 协议识别
route_result_t route = UART3_Protocol_FeedByte(byte, current_tick);
switch (route) {
case ROUTE_CMD:
// 指令路径
CmdParser_SetSourcePort(PORT_UART3);
CmdParser_SetSourcePort(PORT_RS485);
CmdParser_FeedByte(byte, current_tick);
LOG_DEBUG("[UART3] CMD byte: 0x%02X", byte);
break;
@ -997,7 +997,7 @@ static void UART3_SmartRouter_Task(uint32_t current_tick)
#### 3.3.2 透传引擎发送接口
```c
// 复用现有的 MultiUART_Send(PORT_UART1, data, len)
// 复用现有的 MultiUART_Send(PORT_433, data, len)
// 透传引擎将数据写入UART1的发送缓冲区
// 由MultiUART_TxCpltCallback驱动后续发送
```