单片机串口通讯协议 1.约定
将计算机方称为上位机将单片机方统称下位机 数据格式均采用二进制码 2.通信过程描述
通信采用主从式一问一答非问莫答避免下位机同时发送数据产生冲突 联机过程: 1)握手
每次运行时上位机对每一个下位机均发送握手命令下位机接收正确回送握手成功否则回送错误上位机据此来确定下位机的状态(是否联机) 2)命令
通常状态下上位机发送相关命令下位机根据命令回送相关数据 3.通信数据帧格式
1)起始符:标识一次发送的开始1字节默认位23H 2)下位机类别:区分下位机的类别不用时为0
3)下位机地址号:指示下位机的序号不用时为01字节如15号机:0FH
4)命令:2字节区分不同的操作 5)校验标志
1字节,无校验时为0异或校验时为1CRC校验时为2 6)数据长度
2字节指示实际有效数据的个数不用时为0 7)数据:实际有效数据 数据长度个字节
8)校验码:有效数据的校验码如校验标志为0此字节省 9)结束符:标识一次发送的结束 1字节正确为5AH错误为55H 下位机回送数据格式同上 4.详细命令与数据格式举两个例子 1)握手命令0x0A,0x0D
格式:起始符(1)+下位机类别(1)+下位机地址号(1)+命令(2)+校验标志(1)+
数据长度(2)+结束符(1) 例:2300000A0D0000005A 2)下载命令0x44,0x46
格式:起始符(1)+下位机类别(1)+下位机地址号(1)+命令(2)+校验标志(1)+
数据长度(2)+数据()+校验码(1)+结束符(1) 其中:回送时状态=0:无申请; 例:23000044460100050001000000015A 频率特性实验通讯步骤
1、握手:上位机发送指令2300000A0D0000005A 下位机返回数据2300000A0D0000005A
2、启动指令:上位机发送指令2300000400000010原有16个数据5A
下位机无数据返回
3、查询指令:上位机发送指令23000004000000100815个任意数据5A下位机如果有转换数据则返回23000010000007E47E4H个数据5A
或者23000010000000C8C8H个数据5A 下位机如果没有转换数据则无数据返回
其他返回数据:原来返回EEEEEEEE改为返回230000EE0D0000005A原来返回AAAAAAAA改为返回230000AA0D0000005A
首先进行握手握手通过后发送启动指令延时后发送查询指令收到转换数据后处理没收到转换数据再延时后发送查询指令反复进行
因篇幅问题不能全部显示,请点此查看更多更全内容