CMS80F261B uart rx 超时分帧
发布时间:2026/9/6 5:11:13 锦皓数字建站

/***************************************************************************** * 文件名称: uart_frame.c * 功能描述: CMS80F261B 串口超时分帧接收模块(精简版) * 说明: * - 使用 UART1 接收数据,Timer0 产生 100us 时基用于超时判断 * - 帧结束条件: 接收到数据后,在指定超时时间(默认10ms)内无新数据 * - 帧数据存入全局缓冲区 Uart1Buffer,长度存于 Uart1RecLen * - 主循环检测 frame_received 标志后调用 rxframehandle() 处理帧 *****************************************************************************/ #include "cms80fx61x.h" // 芯片寄存器定义 #include "user_uart.h" // UART相关库函数(根据实际工程调整) /*==================== 宏定义 ====================*/ #define FRAME_MAX_LEN 64 // 接收缓冲区最大长度 #define TIMEOUT_DEFAULT_MS 10 // 默认超时时间(毫秒) /*==================== 全局变量 ====================*/ char Uart1Buffer[FRAME_MAX_LEN]; // 接收缓冲区 volatile int Uart1RecLen = 0; // 当前接收字节数 volatile uint8_t uart1send = 0; // 发送完成标志(如需使用) volatile bit frame_received = 0; // 帧接收完成标志(主循环检测) volatile bit rx_busy = 0; // 正在接收一帧标志
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。