Qt与单片机通讯协议.docx
《Qt与单片机通讯协议.docx》由会员分享,可在线阅读,更多相关《Qt与单片机通讯协议.docx(7页珍藏版)》请在冰豆网上搜索。
Qt与单片机通讯协议
《Qt下界面控制与单片机通讯协议》
目录
一、系统连接测试协议...........................................................................1
二、控制LED通讯协议...........................................................................2
三、设置实时时钟信息协议………………………................................3
四、获取实时时钟信息协议....................................................................4
五、获取超声波测距协议........................................................................5
六、蜂鸣器报警协议..................................................................................6
七、获取按键状态信息协议....................................................................7
八、读取模拟输入通道值协议................................................................8
一、系统连接测试协议
功能:
1、检测服务器与客户端连接是否成功
指令:
第一字节
0x01注【1.1】
返回:
第一字节注【1.2】
0xF1
注【1.1】第一字节代表服务器与客户端连接的命令字、
【1.2】第一字节代表响应服务器与客户端连接的命令字、
二、控制LED连接协议
功能:
1、通过该协议,控制目标系统中八个LED灯任意一个的点亮或者熄灭。
指令:
第一字节
第二字节
第三字节
0x02注【2.1】
LED的编码号
0x01
返回:
第一字节
第二字节
第三字节
第四字节
0xF2注【2.2】
LED的编码号
0x01
校验注【2.3】
注【2.1】第一字节代表操作目标系统上LED设备的命令字。
第二字节代表八个LED中的编码:
编码的取值范围为(1~8),第三个字节代表LED灯的点亮或者熄灭的状态:
0x01为亮,0x00为灭。
【2.2】第一字节是响应控制目标系统LED设备,第二字节是响应八个LED中被选定的灯的编码,第三字节是响应被选定灯的点亮或者熄灭。
【2.3】:
校验:
接收指令第一个字节与返回数据进行异或运算,结果作为校验字节,后续协议,如无特殊说明均为此算法。
例:
0xD1XOR0x02XOR0x00XOR0x00X0R0x0E=0xDD
三、设置时钟信息协议
功能:
1.设置系统时间
指令:
第一字节
第二字节
第三字节
第四字节
第五字节
第六字节
第七字节
第八字节
第九字节
0xA3注【3.1】
年
月
日
周
时
分
秒
指令校验
数据:
第一字节
第二字节
第三字节
第四字节
第五字节
第六字节
第七字节
第八字节
第九字节
0xA4注【3.2】
年
月
日
周
时
分
秒
校验
注【3.1】:
第一字节代表目标系统的命令字:
RTC、
注【3.2】:
第一字节代表响应目标系统中RTC的命令字,第(二~八)字节代表响应设置系统的编码值(依次为年,月,日,周,时,分,秒的编码)。
四、获取实时时钟的信息协议
功能:
1.获取系统时间
指令:
第一字节
0xA5注【4.1】
数据:
第一字节
第二字节
第三字节
第四字节
第五字节
第六字节
第七字节
第八字节
第九字节
0xA6注【4.2】
年
月
日
周
时
分
秒
校验
注【4.1】:
第一字节代表目标系统的命令字:
RTC、
【4.2】:
第一字节代表响应目标系统中RTC的命令字,第(二~八)字节代表响应读取系统的编码值(依次为年,月,日,周,时,分,秒的编码)。
五、获取超声波测距协议
功能:
通过协议连接服务器与客户端,显示发送超声波探测出的距离
指令:
第一字节
0xA5注【4.1】
返回:
第一字节
第二字节
第三字节
0xA6注【4.2】
获取距离值
校验
注【4.1】:
第一字节代表目标系统中超声波的命令字、
注【4.2】:
第一字节代表响应目标系统的超声波命令字,第二字节代表响应显示发送超声波探测到的距离的命令字(以2cm为单位,它的有效测距范围为2cm~4m)、
六、蜂鸣器报警协议
功能:
1、控制蜂鸣器的报警、
2、设置蜂鸣器鸣叫的频率
指令:
第一字节
第二字节
第三字节
0xA7注【5.1】
时间间隔
0x01
返回:
第一字节
第二字节
第三字节
第四字节
0xB0注【5.2】
时间间隔
0x01
校验
注【5.1】:
第一字节代表目标系统中控制蜂鸣器的命令字,,第二字节代表设置蜂鸣器鸣叫频率的命令字(以10ms单位)。
第三字节代表蜂鸣器的开与关的命令字(开:
0x01,关:
0x00)。
【5.2】:
第一字节代表响应目标系统中控制蜂鸣器的命令字,第二字节代表响应蜂鸣器鸣叫频率的命令字(以10ms为单位)。
第三字节响应蜂鸣器的开与关的命令字
七、获取按键状态信息协议
功能:
1、获取五个按键中,任意一个按键的当前状态。
指令:
第一字节
0xB3注【6.1】
返回:
第一字节
第二字节
第三字节
0xB4注【6.2】
按键号
校验
注【6.1】:
第一字节代表目标系统中控制按键的命令字、
注【6.2】:
第一字节表示响应目标系统中控制按键的命令字,第二字节代表响应五个按键中被按下的按键的键值(按键顺序排列:
K1=0x01、K2=0x02、K3=0x04、K4=0x08、K5=0x10、)
八、读取模拟输入通道值协议
功能:
读取模拟输入通道AN中的值
指令:
第一字节
第二字节
0xB5注【7.1】
通道号
返回:
第一字节
第二字节
第三字节
第四字节
第五字节
0xB6注【7.2】
通道号
读取的AD低字节数据
读取的AD高字节数据
校验
注【7.1】第一字节代表目标系统中控制按键的命令字(电压,压力,温度),第二字节通道号0~2。
第三字节代表获取通道数据的命令字。
【7.2】第一字节代表响应目标系统中控制按键的命令字(电压,压力,温度),第二字节为响应指定选择通道编码(0~2)的命令字:
电压:
通道号为0、压力:
通道号为1、温度:
通道号为2。
第三四字节是响应获取通道数据的。
例:
压力值=AD高字节数*0x100+AD低字节
九、附注
附:
通讯协议过程中遇到的问题:
1、对客户端与服务器的参数考虑不周全,以至于写协议时候发生字节不够用的等问题。
2、指令与响应字下达不合适,比如变量书写不明确,给定了确定值,例:
LED指令表中开关指令直接写指令码,实质上可以给定变量描述。
开关控制。
3、书写格式不正确,不严谨,注释表达不明确不合理,逻辑性,严谨度不够。
比如,