c# crc16 modbus校验
时间: 2023-07-08 15:56:17 浏览: 175
modbus CRC16 校验
下面是 C# 中计算 Modbus CRC16 校验码的示例代码:
```csharp
public static ushort CalculateCrc(byte[] data)
{
ushort crc = 0xFFFF;
for (int i = 0; i < data.Length; i++)
{
crc ^= data[i];
for (int j = 0; j < 8; j++)
{
if ((crc & 0x0001) == 0x0001)
{
crc >>= 1;
crc ^= 0xA001;
}
else
{
crc >>= 1;
}
}
}
return crc;
}
```
其中,`data` 参数是要计算校验码的数据,返回的是计算出的 CRC16 校验码。这段代码实现了 Modbus 协议中使用的 CRC 校验算法,具体实现过程可以参考 Modbus 协议的官方文档。
阅读全文