STM32 串口收发HEX数据包
实现主逻辑,通过按键触发发送数据包,接收数据后在OLED上显示收发内容。
实现串口初始化、发送(字节/数组/字符串/数字/格式化数据/数据包)、接收中断处理等底层功能。

启用USART1和GPIOA时钟(PA9为TX,PA10为RX)。
PA9配置为复用推挽输出(AF_PP)(串口发送脚需复用功能),PA10配置为上拉输入(IPU)(避免接收脚浮空)。
串口参数:波特率9600、8位数据位、1位停止位、无校验、无流控,同时使能收发模式。
中断配置:使能“接收数据非空(RXNE)”中断,配置NVIC优先级(抢占1,子优先级1,分组2),确保中断能正常响应。

接收功能(中断服务函数 USART1_IRQHandler )
等待帧头 0xFF → 接收4字节数据 → 等待帧尾 0xFE → 置位 Serial_RXFlag (通知主程序)。


代码实现了一个“按键触发发送、OLED显示收发数据”的串口通信系统,数据包格式为 0xFF + 4字节数据 + 0xFE ,适合短距离、低速率的设备间通信(如与传感器、上位机交互)。



