Qt与单片机通讯协议
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《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】:校验:接收指令第一个字节与返回数据进行异或运算,结果作为校验字节,后续协议,如无特殊说明均为此算法。
例:0xD1 XOR 0x02 XOR 0x00 XOR 0x00 X0R 0x0E=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、书写格式不正确,不严谨,注释表达不明确不合理,逻辑性,严谨度不够。
比如,。