纵向冗余校验的计算方法如下: 1.将数据包中所有数据的二进制值相加。 2.将相加的结果转换为二进制数。 3.对转换后的二进制数进行反码处理。 4.将反码作为校验码添加到数据包的末尾。 例如,对于数据包1011,其计算方法如下: 1. 1 + 0 + 1 + 1 = 3 2. 3的二进制值为11 3. 11的反码为00 4.将00...
下面是几个纵向冗余校验数字的例子: 例子1:假设发送方要发送一个8位的二进制数11001101,使用奇偶校验方法进行校验。奇偶校验方法是将数据中的所有位相加,如果结果为奇数,则在数据末尾添加一个0;如果结果为偶数,则在数据末尾添加一个1。发送方对数据进行校验后,得到的结果为110011010,发送给接收方。接收方在接收到数...
LRC校验小知识 纵向冗余校验(Longitudinal Redundancy Check,简称:LRC)是通信中常用的一种校验形式,也称LRC校验或纵向校验。它是一种从纵向通道上的特定比特串产生校验比特的错误检测方法。在行列格式中(如磁带),LRC经常是与VRC一起使用,这样就会为每个字符校验码。在工业领域Modbus协议Ascii模式采用该算法。
ASCII模式下的纵向冗余校验Longitudinal Redundancy Check(LRC) C代码例程 LRC Example Code 下面是一个用C语言表述的计算LRC(字节)的例子:BYTE LRC (BYTE *nData, WORD wLength){BYTE nLRC = 0 ; // LRC char initializedfor (int i = 0; i < wLength; i++)nLRC += *nData++;return (BYTE)(-nLRC...
LRC CRC 纵向冗余码校验 1、LRC校验 LRC域是一个包含一个8位二进制值的字节。LRC值由传输设备来计算并放到消息帧中,接收设备在接收消息的过程中计算LRC,并将它和接收到消息中LRC域中的值比较,如果两值不等,说明有错误。 LRC校验比较简单,它在ASCII协议中使用,检测了消息域中除开始的冒号及结束的回车换行号外的...
求和: 01 + 03 + 00 + 01 + 00 + 01 = 060000 0110 取反 +1 = 1111 1010 即为 FA
纵向冗余校验(Longitudinal Redundancy Check,简称:LRC)是通信中常用的一种校验形式,也称LRC校验或纵向校验。它是一种从纵向通道上的特定比特串产生校验比特的错误检测方法。在工业领域,Modbus协议Ascii模式采用该算法进行校验。 具体算法如下 1)当选择HEX输入时: ...
常用的校验有:累加和校验SUM、字节异或校验XOR、纵向冗余校验LRC、循环冗余校验CRC…… 离散量输入:主要...
1、纵向冗余校验LRC编程实现方案 一、源代码:#includetypedef unsigned char uchar;typedef unsigned int uint;uchar result;uchar data6;/=0x03,0x10,0x0b,0xe8,/0xff,0x00;void main() int LRC(uchar*data); int a;int b;printf(输入要发送的数据。n);scanf(%x%x%x,&data0,&data1,&data2,&data3...