打印
[应用相关]

串口助手接收数据,0x00及之后的数据不显示

[复制链接]
539|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
powerantone|  楼主 | 2021-2-24 10:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
举个例子,单片机发送一组这样的数组{0x0a,0xab,0x00,0xab},然后在串口助手上,显示出来的只有0a ab,后面两个就不显示,这个问题要如何解决

使用特权

评论回复
沙发
zchong| | 2021-2-25 07:40 | 只看该作者
你得自己思考一下,先判断是哪头的问题,是发送端遇到00就不发了,还是接收端接了没显示,然后再确定下一步怎么干。

使用特权

评论回复
板凳
纪国圣| | 2021-2-25 08:30 | 只看该作者
使用的是HEX接受模式还是字符接受模式?字符接受模式会认为0x00是/0,即字符串结束符号,后续字符就不会处理。

使用特权

评论回复
地板
sonicll| | 2021-2-25 08:49 | 只看该作者
你的发送长度怎么计算的,用strlen()函数了吗,strlen函数遇到0x00就计算结束了

使用特权

评论回复
5
laocuo1142| | 2021-3-2 09:41 | 只看该作者
while(*str)这条语句的含义就是见到0退出,建议改成这样void USART1_puts(char *str,int n)

使用特权

评论回复
6
七毛钱| | 2021-3-2 09:44 | 只看该作者
串口助手是不会有问题的,只能看你的程序了,你也可以把你的发送程序发上来看看

使用特权

评论回复
7
gwsan| | 2021-3-4 11:47 | 只看该作者
转义字符的问题

使用特权

评论回复
8
kxsi| | 2021-3-4 11:47 | 只看该作者
用反斜杠试一下

使用特权

评论回复
9
aoyi| | 2021-3-4 11:53 | 只看该作者
发送端遇到00就不发了

使用特权

评论回复
10
drer| | 2021-3-4 11:56 | 只看该作者
0x00这块用字符串那个处理一下

使用特权

评论回复
11
nawu| | 2021-3-4 11:58 | 只看该作者
使用asc码的形式发送

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

417

主题

1471

帖子

4

粉丝