C# 串口CRC CCITT-FALSE 校验
串口CRC CCITT-FALSE 校验
public static bool CRC16_CCITT_FALSE(byte[] byteData) //C# crc-16/CCITT-FALSE,带判断校验的{bool flag = false;ushort crc = 0xFFFF;int size = byteData.Length-2; //计算待计算的数据长度int i = 0;if (size > 0){while (size-- > 0){crc = (ushort)((crc >> 8) | (crc << 8));crc ^= byteData[i++];crc ^= (ushort)(((byte)crc) >> 4);crc ^= (ushort)(crc << 12);crc ^= (ushort)((crc & 0xff) << 5);}}if (byteData[byteData.Length-1] == (byte)((crc >> 8) & 0xff) && byteData[byteData.Length - 2] == (byte)(crc & 0xff)){flag = true;}return flag;}
调用
byte[] QueryInfoByte = new byte[] { 0xE1, 0xAB, 0xE1, 0x01, 0x02, 0x00, 0x00, 0x04, 0x2E, 0x0B, 0x00, 0xFF, 0x99, 0x31 };if (CRC16_CCITT_FALSE(QueryInfoByte)){//你的代码}
C# 串口CRC CCITT-FALSE 校验相关推荐
- C++ CRC校验 CRC16 CCITT FALSE x16 + x12 + x5 + 1
以下样例为ASCII 请注意 //CRC - 16 / CCITT - FALSE x16 + x12 + x5 + 1 unsigned short crc16(const unsigned ch ...
- android串口通讯奇偶校验,串口通讯奇偶数校验及CRC校验如何使用详解
我们以前在学校使用串口基本都不用奇偶数校验都是采用硬件CRC(循环冗余校验码)校验的.但有时候为了数据传输的更加严谨和差错的处理会采用奇偶校验.这里简单说下软件上CRC校验是如何计算的. 所谓CRC是 ...
- C#之windows桌面软件第七课:(下集)串口工具实现数据校验、用灯反应设备状态
C#之windows桌面软件第七课:(下集)串口工具实现数据校验.用灯反应设备状态 using System; using System.Collections.Generic; using Syst ...
- C#之windows桌面软件第六课:(上集)串口工具实现数据校验、用灯反应设备状态
C#之windows桌面软件第六课:(上集)串口工具实现数据校验.用灯反应设备状态 using System; using System.Collections.Generic; using Syst ...
- bcc校验位怎么算的_BCC(异或校验)、CRC、LRC校验算法
一.校验算法 BCC(Block Check Character/信息组校验码),好像也是常说的异或校验方法 CRC(Cyclic Redundancy Check/循环冗余校验) LRC(Longi ...
- 文件CRC和MD5校验
文件CRC和MD5校验 CRC和MD5用于文件和数据的传输校验,以确认是否接收成功. unit CRCMD5;interface { 获取文件CRC校验码 } function GetFileCRC( ...
- 【算法】CRC 循环冗余校验
1.概述 循环冗余校验CRC (Cyclic Redundancy Check)是一种数据链路层的差错控制技术. 在数据的传输过程中可能会产生比特错误: 1可能变为0,0可能变为1. 在一段时间内,传 ...
- 从原理到代码理解CRC循环冗余校验
概述:本文详细介绍了CRC循环冗余计算的数学原理,算法中使用的参数说明,并以Modbus协议中的CRC-16算法为例,进行手算验证,同时提供LabVIEW和C语言的直接计算CRC-16 值的代码以及C ...
- CRC 计算及校验原理
第一步 给定要发送的数据码 原数据码 =10110011 第二步 根据给定的生成多项式,确定除数码, 除数码 = 11001 第三步 根据生成多项式的最高阶次幂(此处为4),在数据码后补 4个0 新数 ...
最新文章
- 执行在一行中组合多个Linux命令
- hbase性能优化2
- B03_NumPy创建数组(numpy.empty,numpy.zeros,numpy.ones)
- Struts 2常见应用
- Trick (六)——随机图的构造
- idea 查找替换快捷键
- win10重置计算机网络设置,win10网络重置后,win10网络重置怎么恢复
- JScriptJQuery学习
- JDBC Statements, PreparedStatement和CallableStatement语句
- win10安装红警运行出现FATALString Manager failed to initilaized properly
- 训练计划安排(练一休一训练分化+倒金字塔训练法)【了解即可,一般人容量不用练一休一,看抖音@孙悟饭桶】
- Win10怎么删除快速访问中最近使用文件记录
- 【使用C++开发MCU】05-CAN实例之NXP S32K1 FlexCAN模块
- 直接访问html网址怎么输入,如何设置输入IP地址就直接访问到某一个网站
- tensorflow2的checkpoint恢复训练
- sybase ASE在unixlinux上的自动备份脚本
- 金字塔原理4个基本原则_总结盆景养护的4个原则
- 图像增强系列之图像自动去暗角算法
- 上海亚商投顾:沪指高开低走涨0.45% 大消费王者归来
- error怎么开机 fan_cpu fan error怎么解决?电脑开机提示CPU FAN ERROR的解决方法