通讯设置
波特率:9600 bps(默认值,可设)
数据域:8 bits
停止位:1 bit
校验位:None
流控制:None
没有校验位时,数据位8bit+停止位1bit=9bit
波特率9600(bps) = 9600 (位/秒) /9bit= 1066.66Byte/秒=1066/1024=1.04 (KB/秒)
(1)CPU发送指令到MCU:
指令头
|
长度字
|
身份码
|
命令码
|
命令参数
|
数据域
|
校验码
|
结束符
|
指令头:1 字节 = 0x24 即字符‘$’
长度字:1 字节,指明从身份码到校验码的字节数
身份码:1字节,代表了目标终端的身份ID。默认为0X0A,可设置。
命令码:1 字节
命令参数:根据不同命令而变化
数据域:字节数根据不同命令而变化
校验码:除了指令头和结束符,其余位参与异或运算得出校验位
结束符:2 字节,0x0d 0x0a
(2)MCU返回:
指令头
|
长度字
|
身份码
|
命令码
|
命令参数
|
数据域
|
校验码
|
结束符
|
指令头:1 字节 =0x24 即字符‘$’
长度字:1 字节,指明从身份码到数据域的字节数
身份码:1字节,代表了本终端的身份ID。默认为0X0A,可设置。
命令码:1 字节
命令参数:根据响应的命令而变化
数据域:字节数根据不同命令而变化
校验码:除了指令头和结束符,其余位参与异或运算得出校验位
结束符:2 字节,0x0d 0x0a
(3)速度响应
n 使用9600bps通讯速率来说明速度响应:
假如一个数据包
查询:6个字节
MCU返回:8个字节
没有校验位时,数据位8bit+停止位1bit=9bit
波特率9600(bps) = 9600 (位/秒) /9bit= 1066.66Byte/秒=1066/1024=1.04 (KB/秒)
查询+MCU返回:6+8=14字节=14字节
速度响应:14Byte/(1066Byte/s)=0.013s=0.013*1000ms=13ms
n 使用115200bps通讯速率来说明速度响应:
假如一个数据包
查询:6个字节
MCU返回:8个字节
没有校验位时,数据位8bit+停止位1bit=9bit
波特率115200(bps) = 115200 (位/秒) /9bit= 12800Byte/秒=12800/1024=12.5 (KB/秒)
查询+MCU返回:6+8=14字节=14字节
速度响应:14Byte/(12800 Byte/s)=0.0011s=0.0011*1000ms=1.1ms
串口通道传输速率可参考%80利用率计算,根据实际需求*0.8