串口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 校验相关推荐

  1. C++ CRC校验 CRC16 CCITT FALSE x16 + x12 + x5 + 1

    以下样例为ASCII 请注意 //CRC - 16 / CCITT - FALSE  x16 + x12 + x5 + 1 unsigned short crc16(const unsigned ch ...

  2. android串口通讯奇偶校验,串口通讯奇偶数校验及CRC校验如何使用详解

    我们以前在学校使用串口基本都不用奇偶数校验都是采用硬件CRC(循环冗余校验码)校验的.但有时候为了数据传输的更加严谨和差错的处理会采用奇偶校验.这里简单说下软件上CRC校验是如何计算的. 所谓CRC是 ...

  3. C#之windows桌面软件第七课:(下集)串口工具实现数据校验、用灯反应设备状态

    C#之windows桌面软件第七课:(下集)串口工具实现数据校验.用灯反应设备状态 using System; using System.Collections.Generic; using Syst ...

  4. C#之windows桌面软件第六课:(上集)串口工具实现数据校验、用灯反应设备状态

    C#之windows桌面软件第六课:(上集)串口工具实现数据校验.用灯反应设备状态 using System; using System.Collections.Generic; using Syst ...

  5. bcc校验位怎么算的_BCC(异或校验)、CRC、LRC校验算法

    一.校验算法 BCC(Block Check Character/信息组校验码),好像也是常说的异或校验方法 CRC(Cyclic Redundancy Check/循环冗余校验) LRC(Longi ...

  6. 文件CRC和MD5校验

    文件CRC和MD5校验 CRC和MD5用于文件和数据的传输校验,以确认是否接收成功. unit CRCMD5;interface { 获取文件CRC校验码 } function GetFileCRC( ...

  7. 【算法】CRC 循环冗余校验

    1.概述 循环冗余校验CRC (Cyclic Redundancy Check)是一种数据链路层的差错控制技术. 在数据的传输过程中可能会产生比特错误: 1可能变为0,0可能变为1. 在一段时间内,传 ...

  8. 从原理到代码理解CRC循环冗余校验

    概述:本文详细介绍了CRC循环冗余计算的数学原理,算法中使用的参数说明,并以Modbus协议中的CRC-16算法为例,进行手算验证,同时提供LabVIEW和C语言的直接计算CRC-16 值的代码以及C ...

  9. CRC 计算及校验原理

    第一步 给定要发送的数据码 原数据码 =10110011 第二步 根据给定的生成多项式,确定除数码, 除数码 = 11001 第三步 根据生成多项式的最高阶次幂(此处为4),在数据码后补 4个0 新数 ...

最新文章

  1. 执行在一行中组合多个Linux命令
  2. hbase性能优化2
  3. B03_NumPy创建数组(numpy.empty,numpy.zeros,numpy.ones)
  4. Struts 2常见应用
  5. Trick (六)——随机图的构造
  6. idea 查找替换快捷键
  7. win10重置计算机网络设置,win10网络重置后,win10网络重置怎么恢复
  8. JScriptJQuery学习
  9. JDBC Statements, PreparedStatement和CallableStatement语句
  10. win10安装红警运行出现FATALString Manager failed to initilaized properly
  11. 训练计划安排(练一休一训练分化+倒金字塔训练法)【了解即可,一般人容量不用练一休一,看抖音@孙悟饭桶】
  12. Win10怎么删除快速访问中最近使用文件记录
  13. 【使用C++开发MCU】05-CAN实例之NXP S32K1 FlexCAN模块
  14. 直接访问html网址怎么输入,如何设置输入IP地址就直接访问到某一个网站
  15. tensorflow2的checkpoint恢复训练
  16. sybase ASE在unixlinux上的自动备份脚本
  17. 金字塔原理4个基本原则_总结盆景养护的4个原则
  18. 图像增强系列之图像自动去暗角算法
  19. 上海亚商投顾:沪指高开低走涨0.45% 大消费王者归来
  20. error怎么开机 fan_cpu fan error怎么解决?电脑开机提示CPU FAN ERROR的解决方法

热门文章

  1. 直播系统解决方案-搭建你自己的直播平台
  2. 三三速记英语 需要者看
  3. Unity相机设置CullingMask
  4. 数据结构学习(冒泡、选择、插入、快速排序)
  5. Coinbase眼中的侧链和layer2解决方案
  6. 使用 SAS 宏变量
  7. EF(一) -- EF简介
  8. 2012-03-16
  9. linux进不去root,进不了root
  10. Python中end=‘ ‘的用法