基于Linux系统的红外一体仪器
概述
1、采用串口实现红外机芯上位机控制及通信。
2、定义详细的协议内容。
3、基本帧格式。
帧头 |
通讯帧起始,两个字节,指定数据[55] [AA] |
数据长度 |
整个命令帧中所有命令段的字节总数(含命令字和数据),一个字节 |
命令段 |
功能分类 |
当前菜单的属性 |
页码 |
当前菜单属性下的页码 |
选项 |
当前页码中的选项 |
命令字 |
命令段中的数据字节,字节个数根据各个命令的定义确定 |
异或校验 |
含数据长度字节和所有命令段的所有字节的异或校验字 |
帧尾 |
通讯帧结束,一个字节,指定数据[F0] |
其工作流程如下图所示
下行协议
上位机连接命令格式
帧头 |
长度 |
有效命令字 |
校验位 |
帧尾 |
功能分类 |
页码 |
选项 |
命令字 |
2字节 |
1字节 |
1字节 |
1字节 |
1字节 |
2字节 |
1字节 |
1字节 |
00-01 |
02 |
03 |
04 |
05 |
06-07 |
08 |
09 |
55 |
AA |
05 |
00 |
00 |
00 |
00 |
XX |
F0 |
命令字 |
字节 |
参数说明 |
参数类型 |
Byte0 |
0x55 |
帧头字节1 |
帧头 |
Byte1 |
0xAA |
帧头字节2 |
Byte2 |
0x05 |
长度为5 |
命令长度 |
Byte3 |
0x00 |
分类 |
功能分类(连接时默认为0x00) |
Byte4 |
0x00 |
页码 |
页码(连接时默认为0x00) |
Byte5 |
0x00 |
选项 |
操作选项(连接时默认为0x00) |
Byte6 |
0x00 |
命令高8位 |
命令(连接时默认为0x00) |
Byte7 |
0x00 |
命令低8位 |
Byte8 |
0xXX |
异或校验 |
校验字 |
Byte9 |
0xF0 |
帧尾 |
帧尾 |
在机芯连接的情况下,进行机芯的通信及控制。
上位机发送每一页的查询命令,下位机接收到后,返回当前页所有选项的状态信息,上位机解析后进行显示。具体流程如下