当前位置: 首页 > news >正文

串口部分问题

对于STM32F407的串口中断接收,空格(ASCII码 0x20)的处理取决于 串口调试助手的发送模式 和 代码逻辑设计。以下是关键点解析:

  1. 串口调试助手的发送模式
    若使用「文本模式」发送:

发送的字符串 AA 55 00 33 会被视为ASCII字符流,空格( )会被转换为ASCII码 0x20。

实际发送的数据为:0x41 0x41 0x20 0x35 0x35 0x20 0x30 0x30 0x20 0x33 0x33(即 A A <空格> 5 5 <空格> 0 0 <空格> 3 3 的ASCII码)。

你的代码会将这些空格(0x20)当作有效数据存入 g_usart_rx_buf,可能导致协议解析错误。

若使用「Hex/十六进制模式」发送:

调试助手会将 AA 55 00 33 解析为4个十六进制字节:0xAA, 0x55, 0x00, 0x33。

空格仅作为分隔符,不会被发送到串口。

实际接收的数据为 0xAA, 0x55, 0x00, 0x33,代码正常处理。

串口接收中断触发条件:

当串口接收到一个字节的数据时,硬件会将状态寄存器(USART_UX->SR)的 RXNE(Receive Data Register Not Empty)位 置1。

如果接收中断使能(USART_UX->CR1 的 RXNEIE 位为1),则会触发中断。

每次接收一个字节:

串口是逐字节接收数据的,因此每接收到一个字节,都会触发一次中断。

相关文章:

  • 21、web前端开发之html5(二)
  • Deepseek+飞书实现简历分析建议+面试题
  • Android 13深度定制:SystemUI状态栏时间居中显示终极实战指南
  • Day37 | 739. 每日温度、496. 下一个更大元素 I、503. 下一个更大元素 II、42. 接雨水、84. 柱状图中最大的矩形
  • PH热榜 | 2025-03-19
  • Windows10抓包工具Wireshark下载、安装、使用
  • Java基础面试题学习
  • selenium(鼠标操作、页面操作、用例设计)
  • BYU-YOLO数据格式准备
  • 群体智能优化算法-灰狼优化算法(Grey Wolf Optimizer, GWO,含Matlab源代码)
  • 【时时三省】(C语言基础)习题:分析一个程序
  • 深入理解traceroute命令及其原理
  • 药房链路轨道“空间拓扑优化+动态算法决策+多级容错控制”三重链式编程技术解析与应用
  • 大模型应用中如何保持实时性和多人对话一致性问题?
  • 蓝桥杯练习day2:拿硬币
  • Linux日志管理
  • 微分方程求解及推导过程
  • 华为欧拉 22.03 版本部署 nginx
  • 【AIGC前沿】MiniMax海螺AI视频——图片/文本生成高质量视频
  • NET6 WebApi第5讲:中间件(源码理解,俄罗斯套娃怎么来的?);Web 服务器 (Nginx / IIS / Kestrel)、WSL、SSL/TSL
  • 四个“从未如此”使巴以加沙战火绵延时间创下历史之最
  • 台行政机构网站删除“汉人”改为“其余人口”,国台办回应
  • 白天气温超30℃的北京,晚间下起了冰雹
  • 中保协发布《保险机构适老服务规范》,全面规范保险机构面向老年人提供服务的统一标准
  • 著名连环画家庞邦本逝世
  • 权益类基金发行回暖,这些老将挂帅新基,谁值得买?