串口调试助手总是多发送两个字节 0d 0a

0d 0a 是windows的回车和换行

因此去串口调试助手里,确保发送的字符最后没有回车换行,并且没有点选这种复选框:

 

### 串口调试助手对接收十进制数据的支持 串口调试助手默认情况下会将接收到的所有数据解释为字符编码,这意味着即使发送的是数值型数据,在串口中也会被转换成对应的ASCII字符显示。例如,当向串口写入一个字节表示的数字100时,由于其ASCII码对应的小写字母'd'会被显示出来[^1]。 为了使串口调试助手能够正确解析并展示十进制数值而非字符形式,可以采取两种主要方法: #### 方法一:发送前格式化数据 在嵌入式设备端(如单片机),可以通过`sprintf()`或类似的字符串处理函数先将整数转换为带有特定格式的字符串再通过串口发出。这样做的好处是在接收侧无需做额外设置就能看到直观的结果[^2]。 ```c char buffer[32]; int value = 6666; sprintf(buffer, "%d", value); Usart_SendString(USART1, buffer); // 发送已格式化的字符串到串口1 ``` #### 方法二:配置串口工具以十六进制模式查看 另一种解决方案是调整串口调试助手本身的工作模式至“Hex”即十六进制视图下工作。此时无论发送方是以何种方式传输的数据包,在此界面里都将按照每两个字符一组的形式呈现原始字节内容,从而便于观察实际传送过来的具体数值[^3]。 综上所述,虽然串口调试助手不直接支持作为纯数字输入来识别十进制数据流,但是通过对发送端进行适当编码或是改变接收端的应用程序参数设定均能实现预期效果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值