当前位置: 首页 > 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),则会触发中断。

每次接收一个字节:

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

http://www.dtcms.com/a/80316.html

相关文章:

  • 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
  • string练习题
  • 并发编程面试题三
  • MCP技术将重塑 SaaS 与 AI 的协作范式
  • 【操作系统】进程间通信方式
  • Boost C++ `split()` 全面解析:高效字符串拆分与优化实践
  • Spring Boot 3 新特性实战:从理论到实践
  • 15-双链表-双链表基本操作
  • 毕业论文答辩自述模板(本科、硕博均可使用)
  • Claude:从安全优先的 AI 实验室到创作者协作者(2025 深度解析)
  • BoNBoN——结合行为模仿和偏好对齐进行Best-of-N对齐的方法