《单片机串口通讯协议.docx》由会员分享,可在线阅读,更多相关《单片机串口通讯协议.docx(3页珍藏版)》请在三一办公上搜索。
1、单片机串口通讯协议单片机串口通讯协议 1.约定 将计算机方称为上位机,将单片机方统称下位机。 数据格式均采用二进制码。 2.通信过程描述 通信采用主从式,一问一答,非问莫答,避免下位机同时发送数据产生冲突。 联机过程: 1)握手 每次运行时,上位机对每一个下位机均发送握手命令,下位机接收正确回送握手成功,否则回送错误。上位机据此来确定下位机的状态。 2)命令 通常状态下,上位机发送相关命令,下位机根据命令回送相关数据。 3.通信数据帧格式 1)起始符:标识一次发送的开始1字节,默认位23H 2)下位机类别:区分下位机的类别,不用时为0 3)下位机地址号:指示下位机的序号,不用时为01字节。如1
2、5号机:0FH 4)命令:2字节,区分不同的操作 5)校验标志 1字节,无校验时为0,异或校验时为1,CRC校验时为2 6)数据长度 2字节,指示实际有效数据的个数,不用时为0 7)数据:实际有效数据 数据长度个字节 8)校验码:有效数据的校验码,如校验标志为0,此字节省 9)结束符:标识一次发送的结束 1字节,正确为5AH,错误为55H 下位机回送数据格式同上。 4.详细命令与数据格式-举两个例子 1) 握手命令 0x0A,0x0D 格式:起始符(1)+下位机类别(1)+下位机地址号(1)+命令(2)+校验标志(1)+ 数据长度(2)+ 结束符(1) 例: 23 00 00 0A 0D 00
3、 00 00 5A 2) 下载命令 0x44,0x46 格式:起始符(1)+下位机类别(1)+下位机地址号(1)+命令(2)+校验标志(1)+ 数据长度(2)+ 数据(?)+校验码(1)+结束符(1) 其中:回送时 状态=0:无申请; 例:23 00 00 44 46 01 00 05 00 01 00 00 00 01 5A 频率特性实验通讯步骤 1、握手: 上位机发送指令- 23 00 00 0A 0D 00 00 00 5A 下位机返回数据- 23 00 00 0A 0D 00 00 00 5A 2、启动指令: 上位机发送指令- 23 00 00 04 00 00 00 10 原有16个
4、数据 5A 下位机无数据返回 3、查询指令: 上位机发送指令- 23 00 00 04 00 00 00 10 08 15个任意数据 5A 下位机如果有转换数据则返回- 23 00 00 10 00 00 07 E4 7E4H个数据 5A 或者- 23 00 00 10 00 00 00 C8 C8H个数据 5A 下位机如果没有转换数据则无数据返回 其他返回数据: 原来返回 -EE EE EE EE 改为返回- 23 00 00 EE 0D 00 00 00 5A 原来返回 -AA AA AA AA 改为返回- 23 00 00 AA 0D 00 00 00 5A 首先进行握手,握手通过后发送启动指令,延时后发送查询指令,收到转换数据后处理,没收到转换数据,再延时后发送查询指令,反复进行。