通信协议(服务器and分机 )

通信协议(服务器and分机 )

本文说明服务器和分机之间的通信协议:


数据帧格式 组成:

项目说明
命令头start
数据字节data(长度不定)
命令尾end

1、电机控制(一直运行)0x01:

参数说明
0x01向前
0x02向后
0x03停止
-
返回ACK
//前进
usartSendBuf(start,0x01,0x01,end);
>>> ACK

2、运动到指定坐标0x11:

参数说明
坐标(3个字节(最高字节+1后发送)+1个校验和),高字节在前
-
返回ACK-CAK-NAK
//运动到坐标1000
usartSendBuf(start,0x11,0x00,0x03,0xe8,0xe8,end);
>>> NAK(丢帧)
>>> CAK(校验错误)
>>> ACK(执行成功)

3、回归原点0x02:

参数说明
-
返回ACK
//归原点
usartSendBuf(start,0x02,end);
>>> ACK(已经到原点)

4、读取状态0x03:

参数说明
-
返回方向(1个字节)+当前坐标(3个字节+1个校验)
//方向字节
0x01:正在向前
0x02:正在向后
0x03:已经停止
0x04:正在归原点
//读取状态
usartSendBuf(start,0x03,end);
>>> start
>>> 0x01
>>> 0x00,0x03,0xe8,0xe8,
>>> end

5、5V信号输出(只对小车有效)0x04:

参数说明
-
返回ACK
//
usartSendBuf(start,0x04,end);
>>> ACK

6、5V信号结束(只对小车持续电平有效)0x07:

参数说明
-
返回ACK
//
usartSendBuf(start,0x07,end);
>>> ACK

7、切换速度(只对大梁有效)0x06:

参数说明
-
返回ACK
//速度类型
低速:0x00
中速:0x01
高速:0x02
//切换到高速
usartSendBuf(start,0x06,0x02,end);
>>> ACK

8、读取目标地址0x08:

参数说明
-
返回标识符(:)+目标地址(3字节地址(高字节+1)+1个校验)+标识符(:)
//
usartSendBuf(start,0x08,end);
>>> start
>>> :
>>> 目标地址(3字节地址(高字节+1)+1个校验)
>>> :
>>> end
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值