單片機(jī)C51實(shí)用通信協(xié)議
一、基本格式:
通信頭->巴克碼->地址字->長度字->命令字->信息位->校準(zhǔn)字
1.通信頭:占1~8個(gè)字節(jié),表通信開始(0x00、0xff不能用作通信頭);
2.巴克碼:占1字節(jié),一般為0x72,表通信頭結(jié)束;
3.地址字:表終端的地址,占1字節(jié)(0x00作為廣播地址);
4.長度字:占1字節(jié),表示從地址字到信息位之間的字節(jié)數(shù);
5.命令字:占1字節(jié),指示終端的不同操作;
6.信息位:不定長,從0~252字節(jié);
7.校驗(yàn)位:兩個(gè)字節(jié),采用和校驗(yàn)及CRC校驗(yàn)。
二、應(yīng)答
1.如果終端接收正確,則應(yīng)答ACK;如果終端接收錯(cuò)誤,則應(yīng)答NAK;
2.發(fā)送方收到ACK,此次通信結(jié)束;
3.發(fā)送方收到NAK,重發(fā)剛才的命令字(最多7次);
4.如果發(fā)送方發(fā)完數(shù)據(jù)后無應(yīng)答,隔0.5~1S后重發(fā)(最多7次)。
三、ACK/NAK的格式
通信頭->巴克碼->地址字->長度字->命令字->0x06、0x06、、0x06(1~8個(gè))
(若信息位長時(shí),分包傳輸,信息位的第一位是包號(hào)0x01,最后1包為0xff)