基于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 |
幀尾 |
幀尾 |
在機芯連接的情況下,進行機芯的通信及控制。
上位機發送每一頁的查詢命令,下位機接收到后,返回當前頁所有選項的狀態信息,上位機解析后進行顯示。具體流程如下