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

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

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

那么发送的就是十六进制数30和33,即发送二进制数2个8比特:起始位00000011停止位 起始位 11001100停止位

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

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

一般使用串口驱动组件提供的发送接口进行发送,如何发送就交给底层驱动程序了。 目前流行的软件,如格西烽火、串口调试助手等,都不错,其中格西烽火设计上更加适合自动化测试。

void se() interrupt 4{ if (RI){ RI = 0;uart[num_uart] = SBUF;if( ++num_uart == 8){ flag = 1; num_uart = 0;}}}这样你试下,还有不对是哪里不对要说明白!

要有硬件将RS232信号转成单片机可识别的TTL信号(一片max232电路即可),将硬件连接好。我用的是一个叫串口调试助手的软件,选择好串口,设置波特率、校验位(通常是NONE)、数据位(通常是8位)、停止位(通常是1位),然后点下面的清空重填,...

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

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

一般 串口调试工具 有2 种数据模式 文本,也就是 字符 或者 是 16进制 你 选 16进制,发送 6C 就可以了

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