- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
传感器通用规约及说明
精品文档
精品文档
收集于网络,如有侵权请联系管理员删除
收集于网络,如有侵权请联系管理员删除
精品文档
收集于网络,如有侵权请联系管理员删除
传 感 器 通 用 协 议 说 明
通讯报文格式:
1
2
3
4
5
6
6+len
6+len+1
6+len+2
0x68
Len1
Len2
0x68
addr
cmd
data
Cs
0x16
0x68 1个帧的开始的字符(68h) 1 byte
Len1 data数据域长度; 1 byte
Len2 data数据域长度; 1 byte 第2字节等于第3字节的值前面是高字节后面是低字节吗?还是两个字节是重复的?
前面是高字节后面是低字节吗?还是两个字节是重复的?
0x68 1个帧中第二个固定字符(68h) 1 byte
Addr 传感器地址 1byte
Cmd 命令类型, 1bytes
Data 实际数据域, len bytes
cs 从addr到cs前1字节,累加和检验码, 1 bytes
0x16 整个帧的结束控制字符 (16h); 1 byte
说明:len1和len2都表示data数据域长度,只是为了收数据错步时的一个判断,是重复的,数据格式没有特别说明都是高字节在前,低字节在后。
一、设置传感器地址
主机向数字传感器发送命令类型:0x01
命令格式:
1
2
3
4
5
6
6+1
6+1+1
6+1+2
0x68
1
1
0x68
oldaddr
cmd
Newaddr
Cs
0x16
从机向主机响应命令类型:0x01
1
2
3
4
5
6
6+1
6+1+1
6+1+2
0x68
1
1
0x68
oldaddr
cmd
Newaddr
Cs
0x16
Newaddr—仪表当前地址。
例如主机发送:68 01 01 68 01 01 04 06 16
如果从机的地址是01,则回应:(68 01 01 68 01 01 04 06 16)无应答
命令表示把装置地址从01修改到04
二、读取传感器地址
主机向数字传感器发送命令类型:0x02
命令格式:
1
2
3
4
5
6
6+0+1
6+0+2
0x68
0
0
0x68
0xff
cmd
cs
0x16
CMD = 0x02 ( 占一个字节 );
Len = 0x00 ( 占一个字节 );
0xFF 可理解为广播地址。( 占一个字节 );
从机向主机响应命令类型:0x02
格式:
1
2
3
4
5
6
6+1
6+1+1
6+1+2
0x68
1
1
0x68
addr
cmd
addr
cs
0x16
Cmd = 0x02 ( 占一个字节 );
Len = 1长度 ( 占一个字节 );
说明:
此命令用于不知道数字传感器序列号和地址的前提下进行的。是以广播方式发送的,在这种情况下只允许接一只数字传感器,防止数据出错。
例如主机发送:68 00 00 68 FF 02 01 16
如果主机地址是4,则回应:68 01 01 68 04 02 04 FF(0A 16
三、设置传感器通讯参数
主机向数字传感器发送命令类型:0x03
命令格式:
1
2
3
4
5
6
7-10
11
12
13
14
15
0x68
7
7
0x68
addr
cmd
Braud
Data
parity
stopBits
cs
0x16
传感器原命令响应主机:传感器无返回值吗?如果传感器没有正确接收命令怎么办?所以建议增加传感器的返回值,成功或失败?
传感器无返回值吗?如果传感器没有正确接收命令怎么办?所以建议增加传感器的返回值,成功或失败?
CMD = 0x03 ( 占一个字节 );
Len = 0x07 ( 占一个字节 );
Braud 通讯波特率。(4字节无符号整形数 高字节在前 );波特率需要修改的范围是多少?请举例说明如何用四个字节表示波特率的。
波特率需要修改的范围是多少?请举例说明如何用四个字节表示波特率的。
Data 通讯数据位。(1字节 );数据位一般都是8位,建议不要修改
数据位一般都是8位,建议不要修改
Parity 通讯校验位。(1字节 0无校验,1奇校验,2偶校验);
Stopbits 停止位(1字节)
说明:数据位可以在说明中注释不用修改为8位,格式就留着吧,以备扩展需要,波特率如:9600直接把数值填充到缓存区 0x00 0x00 0x25 0x80即可,范围传感器支持多大范围就列多大范围。一般(1200-115200)这个范围即可。
返回值:成功了,则原命令返回,不成功则把数据域全部填充为FF即可。
Braud 通讯波特率。(4字节
文档评论(0)