单片机协议

合集下载

单片机与PC机通信协议(RS232)

单片机与PC机通信协议(RS232)

帧格式如下:其中LB、DS在命令帧和应答帧中无。

差错控制与校验采用纵向冗余校验(LRC)。

发送方校验和生成方法:将FD、LB、DS域逐个字节相加求和,在求和过程中舍弃进位,最后将所得的和(单个字节)取补码作为检验和(CS)。

生成校验和的函数为:static unsigned char LRC(auchMsg,usDataLen) /* 函数返回unsigned char 类型的LRC 结果*/ unsigned char *auchMsg ; /* 要计算LRC 的报文*/unsigned short usDataLen ; /* 报文的字节数*/{unsigned char uchLRC = 0 ; /* LRC 初始化*/while (usDataLen--) /* 完成整个报文缓冲区*/uchLRC += *auchMsg++ ; /* 缓冲区字节相加,无进位*/return ((unsigned char)(-((char)uchLRC))) ; /* 返回二进制补码*/}接收方校验方法:将所有接收到的数据,即FD、LB、DS、CS等域逐个字节相加求和,在求和过程中舍弃进位,若结果为零(低字节)则传输无错,否则出错。

应答:接收方对接收数据进行校验后,若无错则向发送方发送传输无错应答帧,若有错则向发送方发送传输出错应答帧。

所需通信数据分为:数据帧、命令帧、应答帧上行数据:下位机(单片机)向上位机(PC机)传送数据⑴初始化上位机(IPC):FD=0x01 (InitPC)单片机将电梯模拟器的参数发送至PC机,初始化PC机端的可视化程序。

PC机上的可视化程序完成初始化后,应向单片机发送初始化完毕命令。

帧格式:⑵发送模拟器状态信息:FD=0x02 (SendMsgToPC)包括:轿厢位置,轿厢状态——上行/下行/停止,轿厢运行速度其中轿厢状态:上行——0x05下行——0x0A停止——0x00⑶开门命令:FD=0x03⑷开门到位命令:FD=0x04⑸关门命令:FD=0x05帧格式:⑹关门到位命令:FD=0x06⑺询问上位机是否准备好:FD=0x07 (IfPCReady)帧格式:下行数据:上位机(PC机)向下位机(单片机)传送数据⑴上位机准备好:FD=0x11⑵初始化完毕:FD=0x12 (PCInitFinish)⑶修改模拟器参数:FD=0x13 (AlterPara)⑷完成修改模拟器参数:FD=0x14 (FinishAlterPara)⑸下送模拟器参数:FD=0x15 (SendParaToMCU)帧格式:应答帧:⑴接收到的数据无错:FD=0xF1帧格式:⑵接收到的数据出错:FD=0xF2模拟器运行流程图修改模拟器参数流程图模拟器参数定义//参数号定义#define ID_Total_Floors 1#define ID_Special_Floor_A 3#define ID_Special_Floor_B 5#define ID_ID_Observe_Para 7#define ID_Dist_Bottom_Limit_Location 10#define ID_Dist_Bottom_Restrict_Location 11#define ID_Duration_Close_LiftDoor 16#define ID_Duration_Open_LiftDoor 17#define ID_Factor_FreqDivid_Hall 18#define ID_Polarity_Photoswitch 19#define ID_Floor_Lift_Lieto 29#define ID_Location_Lift 30#define ID_Length_UnivFloor 2#define ID_Length_Special_Floor_A 4#define ID_Length_Special_Floor_B 6#define ID_Length_Floor_Level_Board 8#define ID_Length_Speed_Alter_Board 9#define ID_Dist_Bottom_SpAlter_UpEnd 12#define ID_Dist_Top_SpAlter_LowEnd 13#define ID_Dist_Top_Restrict_Location 14#define ID_Dist_Top_Limit_Location 15ubyte Total_Floors; //最高楼层数ubyte Special_Floor_A; //专用楼层号Aubyte Special_Floor_B; //专用楼层号Bubyte ID_Observe_Para; //观测参数号ubyte Dist_Bottom_Limit_Location; //下极限与底楼平层的距离(向下计算),单位:厘米ubyte Dist_Bottom_Restrict_Location; //下限位与底楼平层的距离(向下计算),单位:厘米ubyte Duration_Close_LiftDoor; //电梯关门到位时间,单位:秒ubyte Duration_Open_LiftDoor; //电梯开门到位时间,单位:秒ubyte Factor_FreqDivid_Hall; //输入霍尔脉冲分频系数ubyte Polarity_Photoswitch; //平层区光电开关极性:0 - 进入平层区光电开关输出断开,1 - 进入平层区光电开关输出闭合ubyte Floor_Lift_Lieto; //电梯当前楼层uword Location_Lift; //电梯位置值,单位:厘米uword Length_UnivFloor; //通用楼层距离,单位:厘米uword Length_Special_Floor_A; //专用楼层号A的楼层距离(向上计算),单位:厘米uword Length_Special_Floor_B; //专用楼层号B的楼层距离(向上计算),单位:厘米uword Length_Floor_Level_Board; //平层挡板的长度,单位:毫米uword Length_Speed_Alter_Board; //上、下强换挡板的长度,单位:厘米uword Dist_Bottom_SpAlter_UpEnd; //下强换顶端与底楼平层的距离(向上计算),单位:厘米uword Dist_Top_SpAlter_LowEnd; //上强换底端与顶楼平层的距离(向下计算),单位:厘米uword Dist_Top_Restrict_Location; //上限位与顶楼平层的距离(向上计算),单位:厘米uword Dist_Top_Limit_Location; //上极限与顶楼平层的距离(向上计算),单位:厘米。

通用单片机通讯协议(ASCII)

通用单片机通讯协议(ASCII)
例如,
1、在单片机中定义从地址0开始的数据类型为BYTE型的变量:
则在组态王中定义相应的变量的寄存器为X0、X1、X2、X3、X4。。。。。。。。,数据类型为BYTE,每个变量占一个字节
2、在单片机中定义从地址100开始的数据类型为UINT型的变量:
则在组态王中定义相应的变量的寄存器为X100、X102、X104、X106、X108。。。。。。。。,数据类型UINT,每个变量占两个字节
bit3bit2 =1x,数据类型为浮点数。
数据地址:2字节4个ASCII码,0x0000~0xffff
数据字节数:1字节2个ASCII码,1—100,实际读写的数据的字节数。
数据…:为实际的数据转换为ASCII码,个数为字节数乘2。
异或:异或从设备地址到异或字节前,异或值转换成2个ASCII码
CR:0x0d。
46
30
30
30
46
30
34
31
30
46
46
46
46
30
30
字头
设备地址15
标志
写操作
浮点型
打包
数据地址15
数据字节数4
数据65535
30
30
0d
异或
若正确:
40
30
46
23
23
37
36
0d
字头
设备地址15
##
异或
若不正确:
40
30
46
2a
2a
37
36
0d
字头
设备地址15
**
异或
5.浮点数格式:
4字节浮点数=第一字节高4位ASCII码+第一字节低4位ASCII码

单片机和上位机协议

单片机和上位机协议

单片机和上位机协议一、引言随着科技的快速发展,单片机在各个领域得到了广泛的应用。

而单片机与上位机之间的通信协议也成为了重要的研究方向。

本文将探讨单片机与上位机之间的通信协议,包括协议的基本原理、常见的协议类型以及它们的应用场景等。

二、单片机与上位机之间的通信协议基本原理单片机与上位机之间的通信协议是为了实现两者之间的数据交换和通信而设计的。

协议的基本原理是通过一定的规则和约定,实现数据的传输和解析。

常见的单片机与上位机通信协议包括串口通信、USB通信、以太网通信等。

其中,串口通信是最常见和简单的通信方式。

它通过串口线将单片机与上位机连接起来,通过发送和接收数据来实现通信。

串口通信具有成本低、易于实现等优点,广泛应用于各个领域。

三、常见的单片机与上位机通信协议类型1. 串口通信协议串口通信协议是最常见和简单的通信方式。

它使用串口线将单片机与上位机连接起来,通过发送和接收数据来实现通信。

常见的串口通信协议包括RS232、RS485等。

RS232是一种标准的串行通信接口,广泛应用于计算机、工业自动化等领域;RS485是一种多点通信协议,支持多个设备同时通信,适用于工业控制系统等应用场景。

2. USB通信协议USB通信协议是一种高速、可靠的通信方式。

它通过USB接口将单片机与上位机连接起来,实现数据的传输和通信。

USB通信协议具有带宽大、速度快等优点,广泛应用于外设设备、嵌入式系统等领域。

常见的USB通信协议包括USB1.1、USB2.0、USB3.0等。

3. 以太网通信协议以太网通信协议是一种广域网通信协议,它通过以太网接口将单片机与上位机连接起来,实现数据的传输和通信。

以太网通信协议具有传输速度快、可靠性高等优点,广泛应用于局域网、互联网等领域。

常见的以太网通信协议包括TCP/IP、UDP等。

四、单片机与上位机通信协议的应用场景单片机与上位机通信协议在各个领域都有着广泛的应用。

在工业控制领域,单片机与上位机通信协议被用于监控系统、物联网等方面。

单片机通讯协议有哪些

单片机通讯协议有哪些

单片机通讯协议有哪些单片机通讯协议是指在单片机系统中,不同设备之间进行通讯时所遵循的规定和约定。

在实际的单片机应用中,通讯协议起着非常重要的作用,它决定了不同设备之间的数据交换方式和通讯流程。

下面我们将介绍一些常见的单片机通讯协议。

1. 串行通讯协议。

串行通讯协议是一种通过串行线路进行数据传输的通讯方式,常见的串行通讯协议包括UART、SPI和I2C。

UART(Universal Asynchronous Receiver/Transmitter)是一种异步串行通讯协议,它通过一根传输线路进行数据的串行传输,适用于中短距离通讯。

SPI(Serial Peripheral Interface)是一种同步串行通讯协议,它使用四根线路进行通讯,包括时钟线、数据线、主从选择线和从机输出线,适用于高速通讯和短距离通讯。

I2C(Inter-Integrated Circuit)是一种双向二线制串行总线,适用于多个设备之间的通讯,可以实现多主机和多从机的通讯。

2. 并行通讯协议。

并行通讯协议是一种通过并行线路进行数据传输的通讯方式,常见的并行通讯协议包括总线协议和并行接口协议。

总线协议是一种多设备共享同一总线进行通讯的协议,常见的总线协议包括ISA、PCI、USB等,适用于多设备之间的通讯和数据交换。

并行接口协议是一种通过并行接口进行数据传输的协议,常见的并行接口协议包括Centronics接口、IEEE-488接口等,适用于打印机、仪器设备等外部设备的通讯。

3. 网络通讯协议。

网络通讯协议是一种通过网络进行数据传输的通讯方式,常见的网络通讯协议包括TCP/IP、UDP、HTTP等。

TCP/IP是一种传输控制协议/因特网协议,它是互联网的核心协议,提供可靠的、面向连接的通讯服务,适用于大规模网络通讯。

UDP(User Datagram Protocol)是一种用户数据报协议,它是一种无连接的通讯协议,适用于实时性要求较高的通讯。

单片机通信技术UARTSPI和IC

单片机通信技术UARTSPI和IC

单片机通信技术UARTSPI和IC 单片机通信技术:UART、SPI和IC单片机(Microcontroller)是一种集成了处理器核心、存储器和外设接口的微型计算机系统。

在各种电子设备中,单片机扮演着控制和通信的重要角色。

本文将介绍单片机通信技术中的UART、SPI和IC (Integrated Circuit)三个关键概念,并探讨它们之间的联系与应用。

一、UART通信技术UART(Universal Asynchronous Receiver/Transmitter)通信技术是一种异步串行通信协议,通常用于单片机与外部设备之间的通信。

UART通过串口将数据以二进制的形式进行传输,通信的双方需要约定好各自的通信参数,如波特率、数据位数、停止位等。

UART通信技术的核心在于数据的传输方式,它采用了起始位、数据位、校验位和停止位的组合来实现数据的传输。

起始位用于告知数据接收方一组数据的开始,数据位是用来传输具体的数据内容,校验位用于检测数据的准确性,停止位用于标志一组数据的结束。

UART通信技术具有简单、稳定、成本低等优点,因此在许多单片机应用中得到广泛应用。

例如,串口通信、蓝牙通信、红外通信等都可采用UART技术。

二、SPI通信技术SPI(Serial Peripheral Interface)通信技术是一种同步串行通信协议,常用于实现单片机与外围设备之间的高速数据传输。

SPI通信采用全双工的方式,即可以同时进行数据发送和接收。

SPI通信技术的关键在于主从设备之间的时钟同步和数据传输协议。

在SPI通信中,主设备控制通信的时序和数据传输的规则,从设备负责响应主设备的指令并返回数据。

SPI通信使用了四根信号线,分别是时钟信号(SCK)、主设备输出从设备输入信号(MOSI)、从设备输出主设备输入信号(MISO)和片选信号(SS)。

SPI通信技术具有高速、全双工、多设备共享总线等特点,因此被广泛应用于数据存储器、显示设备、模数转换器(ADC)、数模转换器(DAC)等外围设备的通信。

STC单片机的协议

STC单片机的协议

STC单片机的下载协议关于STC的下载在Linux平台下面一直是一个老大难的问题。

我最近一段时间去ourdev网站,和数码之家,包括有一些热心人的协助。

以及一些前人开发的开源软件,类似gSTC-ISP之类的软件。

才让我完全的搞懂了STC的ISP协议。

本文以GPL v3条款发布。

但是切勿胡乱传播。

影响宏晶的利益。

这个逆向工程做的并不妥当。

望宏晶包涵,毕竟你并未公开协议。

导致我们使用Linux的人痛苦不堪。

现在先放出用Gambas写的两个ISP软件。

分别对应89系列和12系列。

15系列正在分析。

别的系列因为不常用暂无协议。

SerialPort kSTC89-ISP那么呢,我就先从STC89系列的讲起。

大同小异的。

STC89系列的单片机在上电的时候会执行在ISP FLASH 的ISP程序。

只要在串口上收到连续的0x7f,便会进入ISP模式。

老姚选择 0x7f的理由是里面没有连续的低电平。

这样的话就可以让单片机来调整自身UART的时钟到计算机的时钟,让波特率同步。

但是若频率太高,则测不准。

所以启动波特率要控制在9600以下为宜。

而且均有时间限制。

如果不在超时时间内连接MCU。

MCU会自动断开,跑用户程序。

这就是为什么某些芯片,类似PL2303打开关闭速度慢的芯片下载容易出问题的原因。

切入正题:STC的数据包格式为:包头 2BYTE+标识 2BYTE +长度 1BYTE +包类型1 BYTE+数据 nnBYTE+校验码 1BYTE+包尾1BYTE。

包头固定0×46,0xb9.(但是在信息帧中不包含包头标识来自单片机的是68 00而来自计算机的是6A 00包尾固定0×16.至于我这里捕获的标识,在89系列里大概有0×00 ——信息(注意,这里没有包头)0×00 ——数据(这个是切换波特率以后的0x8F ——新波特率实验0x8E ——波特率正式更改0×84 ——擦除芯片0×80 ——校验返回0x8D ——设置选项并且结束编程0×80 ——(结束时,上位机)结束编程,通知MCU复位。

组态王通用单片机协议(ASCII)说明

组态王通用单片机协议(ASCII)说明概述通用单片机ASCII协议支持单片机与组态王通讯,用户只要按照我们的协议编写单片机通讯程序就可实现与组态王的通讯.组态王设置1、定义组态王设备定义组态王定义设备时请选择:智能模块\单片机\通用单片机ASCII\串口组态王的设备地址定义格式:##.#前面的两个字符是设备地址,范围为0-255,此地址为单片机的地址,由单片机中的程序决定;后面的一个字符是用户设定是否打包,"0"为不打包、"1"为打包,用户一旦在定义设备时确定了打包,组态王将处理读下位机变量时数据打包的工作,与单片机的程序无关.2、组态王通讯通讯方式:RS-232,RS-485,RS-422均可。

波特率:由单片机决定(2400,4800,9600and19200bps)。

注意:在组态王中设置的通讯参数如波特率,数据位,停止位,奇偶校验必须与单片机编程中的通讯参数一致3.组态王数据词典--变量定义在组态王中定义的寄存器数据格式(类型):由单片机决定。

斜体字dd代表数据地址,此地址与单片机的数据地址相对应.注意:在组态王中定义变量时,一个X寄存器根据所选数据类型(BYTE,USHORT,FLOAT)的不同,分别占用一个、两个,四个字节,定义不同的数据类型要注意寄存器后面的地址,同一数据区内不可交叉定义不同数据类型的变量。

为提高通讯速度建议用户使用连续的数据区。

例如,1、在单片机中定义从地址0开始的数据类型为BYTE型的变量: 则在组态王中定义相应的变量的寄存器为X0、X1、X2、X3、X4。

,数据类型为BYTE,每个变量占一个字节2、在单片机中定义从地址100开始的数据类型为USHORT型的变量: 则在组态王中定义相应的变量的寄存器为X100、X102、X104、X106、X108。

数据类型USHORT,每个变量占两个字节3、在单片机中定义从地址200开始的数据类型为FLOAT型的变量: 则在组态王中定义相应的变量的寄存器为X200、X204、X208、X212。

单片机通讯协议


CSerialPort向父类发送的消息号如下:
#define WM_COMM_RXCHAR WM_USER+7 // A character was received and placed in the input buffer.
因此需要手动添加此消息的响应函数:
else
state_machine = 0; // 状态机复位
}
else if(state_machine == 1)
{
if(rcvdat == 0xAA) // 接收到帧头第二个数据
state_machine = 2;
else
state_machine = 5;
else
state_machine = 0;
}
else if(state_machine == 5)
{
lencnt = 0; // 接收数据计数器
rcvcount = rcvdat; // 接收数据长度
state_machine = 0; // 状态机复位
}
else if(state_machine == 2)
{
if(rcvdat == 0x7E) // 接收到帧头第三个数据
state_machine = 3;
else
state_machine = 0; // 状态机复位
通信中的数据往往以数据包的形式进行传送的,我们把这样的一个数据包称作为一帧数据。类似于网络通信中的TCPIP协议一般,比较可靠的通信协议往往包含有以下几个组成部分:帧头、地址信息、数据类型、数据长度、数据块、校验码、帧尾。
帧头和帧尾用于数据包完整性的判别,通常选择一定长度的固定字节组成,要求是在整个数据链中判别数据包的误码率越低越好。减小固定字节数据的匹配机会,也就是说使帧头和帧尾的特征字节在整个数据链中能够匹配的机会最小。通常有两种做法,一、减小特征字节的匹配几率。二、增加特征字节的长度。通常选取第一种方法的情况是整个数据链路中的数据不具有随即性,数据可预测,可以通过人为选择帧头和帧尾的特征字来避开,从而减小特征字节的匹配几率。使用第二种方法的情况更加通用,适合于数据随即的场合。通过增加特征字节的长度减小匹配几率,虽然不能够完全的避免匹配的情况,但可以使匹配几率大大减小,如果碰到匹配的情况也可以由校验码来进行检测,因此这种情况在绝大多说情况下比较可靠。

rs485协议详解单片机编程

rs485协议详解单片机编程RS485协议详解单片机编程1. 协议双方基本信息甲方:(以下简称“甲方”)地址:联系人:电话:邮箱:乙方:(以下简称“乙方”)地址:联系人:电话:邮箱:2. 各方身份、权利、义务、履行方式、期限、违约责任2.1 甲方身份、权利、义务、履行方式、期限、违约责任甲方为RS485通讯协议的发起方,其权利、义务、履行方式、期限、违约责任如下:权利:1. 确定通讯协议的实现方案;2. 对乙方提供的通讯协议实现方案进行审核并提出修改意见;3. 在付款后,获得乙方提供的符合要求的实现方案。

义务:1. 提供通讯协议的需求文档及其他相关资料;2. 对乙方提供的通讯协议实现方案进行评估并提出需要修改的意见;3. 对于乙方提供的符合要求的实现方案进行支付。

履行方式:1. 双方确认和签署本协议后,甲方向乙方提供通讯协议的需求文档及其他相关资料;2. 乙方拟定通讯协议实现方案并提交给甲方审查;3. 甲方对乙方提供的通讯协议实现方案进行评估并提出需要修改的意见,乙方对意见进行修改并重新提交审查;4. 经过双方的多次确认和修改后,乙方提供符合甲方要求的实现方案,并向甲方提供;5. 甲方对乙方提供的符合要求的实现方案进行支付。

期限:本协议签署后,甲乙双方应在合理时间内完成上述流程。

违约责任:1. 若乙方违约,甲方有权解除本协议,并要求乙方承担相应的赔偿责任;2. 若甲方违约,应承担相应的违约责任。

2.2 乙方身份、权利、义务、履行方式、期限、违约责任乙方为RS485通讯协议的实现方,其权利、义务、履行方式、期限、违约责任如下:权利:1. 按照甲方提供的需求文档及其他相关资料进行通讯协议实现方案的拟定;2. 享有按约定支付的费用。

义务:1. 按照甲方提供的需求文档及其他相关资料提供符合要求的通讯协议实现方案;2. 对于甲方提出的修改意见,及时进行修改并重新提交审查。

履行方式:1. 双方确认和签署本协议后,甲方向乙方提供通讯协议的需求文档及其他相关资料;2. 乙方拟定通讯协议实现方案并提交给甲方审查;3. 甲方对乙方提供的通讯协议实现方案进行评估并提出需要修改的意见,乙方对意见进行修改并重新提交审查;4. 经过双方的多次确认和修改后,乙方提供符合甲方要求的实现方案,并向甲方提供;5. 甲方对乙方提供的符合要求的实现方案进行支付。

单片机_自定义通讯协议_概述及解释说明

单片机自定义通讯协议概述及解释说明1. 引言1.1 概述引言部分旨在向读者介绍本篇长文的主题,即单片机自定义通信协议。

本文将对单片机通信协议进行概述并解释说明其相关内容。

单片机通信协议是控制和管理单片机与外部设备之间数据传输的重要规范,其设计直接影响到系统的性能、功能和稳定性等方面。

1.2 文章结构文章的结构分为以下几个部分。

首先,我们将在第二部分概述单片机通信协议的基本概念和重要性,以帮助读者全面了解该主题。

接下来,在第三部分将介绍自定义单片机通信协议所需遵循的设计原则,以确保其具有灵活性、可扩展性、适应各种环境和需求以及安全性和可靠性。

第四部分将详细讲解实现自定义单片机通信协议的步骤,包括定义消息格式和数据结构、建立数据传输规则和流程控制方式以及实现硬件和软件层面支持协议的功能。

最后,在第五部分总结文章内容并展望自定义单片机通信协议在未来的优势应用场景及发展方向与挑战。

1.3 目的本篇长文的目的是为读者提供关于单片机自定义通信协议的全面概述及解释说明。

通过阅读本文,读者将了解到单片机通信协议的意义和重要性,以及如何设计并实现一个自定义的通信协议来满足不同环境和需求。

同时,本文还将讨论自定义单片机通信协议所具有的优势,并展望其未来在各个领域中的应用场景和发展趋势。

通过对该主题的深入探讨,读者能够更好地理解和应用单片机自定义通信协议技术。

2. 单片机通信协议概述:2.1 什么是通信协议通信协议是指在不同设备之间进行数据传输和交流时所遵循的一套规则和约定。

它定义了数据传输的格式、数据编码方式、数据校验方法以及传输控制等方面的内容。

通过使用通信协议,各种设备能够正确地理解和解释彼此发送和接收的信息。

2.2 单片机通信的重要性单片机通信是指在单片机与其他设备(如传感器、执行器等)之间进行信息交互的过程。

在很多应用中,单片机需要与外部设备进行数据交换或控制命令传输。

因此,单片机通信协议具有非常重要的作用,可以保证信息的准确传递和处理。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机通信协议
通讯参数数据传输格式数据通讯举例说明协议说明
一、通讯参数
通讯参数包括数据位,停止位,波特率、校验方式。

数据位、停止位、波特率由单片机决定。

组态软件中的设定和单片机一致即可。

校验方式为和校验。

二、数据传输格式
格式1、组态软件读数据命令格式:
格式2、单片机应答读数据格式(正确):
格式3、组态软件写数据命令格式:
格式4、组态软件位操作写数据命令格式:
格式5、单片机应答读数据格式
三、数据通讯举例说明
1、读数据
组态软件:发送读数据命令(格式1)
单片机:响应读数据命令
正确:返回(格式2)
2、写数据
组态软件:发送写数据命令(格式3)
组态软件:发送开关量写命令(格式4)
单片机:响应写数据命令
正确:返回(格式5)
四、协议说明
数据传输:所有数据均为16进制数
Sta: 设备地址1字节
R:读标志1字节(0x52)
W:写标志1字节(0x57)
B:位操作写标志1字节(0x42)
DataType:需要交换的数据类型,1字节。

1,字节;2,字,3,浮点型。

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

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

数据偏移地址以字节为单位。

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

DataLong: 单片机返回Data的字节数,2字节,低字节在前,高字节在后。

BitOffset:位操作写命令时,在字节中的位的偏移(0~7)。

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

EndCode:
如果结束码EndCode为异常值,则该数据侦的数据无效。

相关文档
最新文档