c语言ecit,组态王与单片机串口通信通信协议    ECIT

一、 通讯参数:

通讯参数包括数据位,停止位,波特率、校验方式。

数据位、停止位、波特率由单片机决定。组态王中的设定和单片机一致即可。校验方式参照“数据传输格式”中相关部分。

二、 数据传输格式:

格式1、组态王发送地址请求格式:(此时检验位为1)

ENQ

Sta

EOT

CRC

格式2、单片机应答地址格式:(此时检验位为0)

ACK

Sta

ETX

CRC

格式3、组态王读数据请求格式:(此时检验位为0)

ENQ

R

DataType

DataAddr

DataNum

EOT

CRC

格式4、单片机应答读数据格式(正确):(此时检验位为0)

ACK

DataLong

Data….

ETX

CRC

格式5、单片机应答读数据格式(错误):(此时检验位为0)

NAK

ErrorCode

ETX

CRC

格式6、组态王写数据请求格式:(此时检验位为0)

ENQ

W

DataType

DataAddr

Data….

EOT

CRC

格式7、单片机应答写数据格式(正确):(此时检验位为0)

ACK

ErrorCode

ETX

CRC

三、时序:

读数据:

组态王

单片机

第一步:格式1

第二步:格式2

第三步:格式3

第四步:格式4或格式5

第五步:如果第四步单片机执行格式4,结束。否则,执行格式1。

第六步:格式2

第七步:格式3

第八步:格式4或格式5

写数据:

组态王

单片机

第一步:格式1

第二步:格式2

第三步:格式6

第四步:格式7

第五步:如果第四步单片机执行格式7的ErrorCode=0,结束。否则,执行格式1。

第六步:格式2

第七步:格式6

第八步:格式7

四、协议说明:

数据传输:所有数据均为16进制数

ENQ(头)

H05

询问

请求帧的开始代码

ACK(头)

H06

确认

ACK应答帧的开始代码

NAK(头)

H15

否认

NAK应答帧的开始代码

EOT(尾)

H04

正文的结束

请求帧的结束ASCII代码

ETX(尾)

H03

结束正文

应答帧的结束ASCII代码

Sta:: 设备地址1字节

R: 读标志1字节(0x52)

W: 写标志1字节(0x57)

DataType;需要交换的数据类型,1字节。1,字节;2,字,3,浮点型。

DataType的值

含义

1

字节

2

3

浮点数

DataNum:要读取的数据的数量,1字节。

DataAddr;为数据偏移地址2字节,低字节在前,高字节在后

Data: 实际传输的数据,低字节在前,高字节在后

DataLong: 单片机返回Data的 字节数

,2字节,低字节在前,高字节在后

CRC: 为从第一个字节 至CRC前的所有字节的异或值,1字节

ErrorCode:

ErrorCode数值

含义

0

正确应答

1

数据类型错误

2

数据范围超限

3

指令无法识别,应为R或W。

4

校验错误

以上协议若有不妥之处,可协商改动。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值