knrt.net
当前位置:首页 >> 如何实现串口调试助手的"以16进制发送"的功能 >>

如何实现串口调试助手的"以16进制发送"的功能

串口发送的数据是8位的,最大为255,就是FF,如果要发送大于255的数,必须变成几个字节发送,例如要发送十进制2315,就要将数据拆分 data(0)=2315/256; data(1)=2315%256; 这样就拆分开数据,再将数据发送出去。

选\“以16进制发送\”的话,发送的是16进制的数3,实际发送的数字都是用二进制1和0表示,即发送8个比特(二进制数):00000011,前后还有起始位(高电平)和停止位(可选1、2比特)。 不选16进制的话,发送的是两个ASCII码字符,\“0\”和\“3\”。你...

这是因为它显示的是字符方式,'7'的ASCII码就是十六进制的37 主要看你是选择的显示方式

1.波特率有没一致 2、SBUF = Sensor;在发送的时候有没将Sensor转换为ASCII编码。

串口调试助手如果不勾选十六进制发送的话发送的是ASCII码,你查一下ASCII码表把这六个ASCII码对应的十六进制数找到就得到结果了!

关注这个问题

串口调试助手设置成HEX发送

你发送96是以ASICC格式发送的吧,你把串口调试助手接收区显示“以十六进制显示”的勾去掉。

看看接收和发送的波特率是不是一致

首先看你的发送的是什么:unsigned char dat,字符型的变量,也就是说你发送过去的变量是char型的, 再看你要显示什么:“串口助手上看到一组16进制数”好吧,这就是问题, 你要看的是16进制的数,但是发过去的是char型,那么怎么办呢? 1:转换,...

网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com