ModBus RTU协议CRC校验方式最简实现
2011-05-11 13:22
337 查看
private byte [] GetCRC( byte [] byteData)
{
byte[] CRC= new byte[2];
UInt16 wCrc =0xFFFF;
for(int i=0; i< byteData.Length ; i++)
{
wCrc ^= Convert.ToUInt16 (byteData[i]);
for(int j=0; j<8; j++)
{
if ((wCrc & 0x0001)==1)
{
wCrc >>= 1;
wCrc ^= 0xA001;//异或多项式
}
else
{
wCrc >>= 1;
}
}
}
CRC[1] = (byte)((wCrc & 0xFF00) >> 8);//高位在后
CRC[0] = (byte)(wCrc & 0x00FF); //低位在前
return CRC;
}
}
{
byte[] CRC= new byte[2];
UInt16 wCrc =0xFFFF;
for(int i=0; i< byteData.Length ; i++)
{
wCrc ^= Convert.ToUInt16 (byteData[i]);
for(int j=0; j<8; j++)
{
if ((wCrc & 0x0001)==1)
{
wCrc >>= 1;
wCrc ^= 0xA001;//异或多项式
}
else
{
wCrc >>= 1;
}
}
}
CRC[1] = (byte)((wCrc & 0xFF00) >> 8);//高位在后
CRC[0] = (byte)(wCrc & 0x00FF); //低位在前
return CRC;
}
}
相关文章推荐
- ModBus RTU协议 16 位CRC校验方式最简实现
- VC++实现的ModBus-RTU主机接口函数(采用回调方式)
- Modbus TCP和Modbus Rtu协议的区别
- Modbus-RTU通讯协议中CRC校验码的计算步骤
- 分布式锁协议在各种场景的实现方式
- Modbus RTU 工业通讯技术实现
- RS485 分时器 RS485输入模块 Modbus RTU协议
- modbus两种传输方式(ASCII或RTU)
- 基于 STM32的 modbus-rtu 实现
- 基于MODBUS 协议的CRC16程序实现
- 树莓派学习笔记——实现modbus RTU从机
- Xray@NET,协议插件实现方式的简述
- VB6基于Windows API的Modbus RTU/ASCII/TCP的主站实现代码
- Java 实现 SSH 协议的客户端登录认证方式
- Java 实现 SSH 协议的客户端登录认证方式
- Modbus TCP和Modbus Rtu协议的区别
- ModBus通信协议的【传输方式】
- Modbus关于ASCII模式和RTU模式两种传输方式的区别
- 【IOS】最简 4000 单方式实现跑马灯文字效果