CRC校验 java modbus
/*** crc16 X16+x15+x2+1* 16进制报文是 02 03 00 00 00 40 CRC16* 传输的str:“020300000040”* 结果:4409* @param str* @return*/public static String getCRC(String str) {byte[] bytes = ByteUtil.hexStr2bytes(str);int CRC = 0x0000ffff;int POLYNOMIAL = 0x0000a001;int i, j;for (i = 0; i < bytes.length; i++) {CRC ^= ((int) bytes[i] & 0x000000ff);for (j = 0; j < 8; j++) {if ((CRC & 0x00000001) != 0) {CRC >>= 1;CRC ^= POLYNOMIAL;} else {CRC >>= 1;}}}String crc = Integer.toHexString(CRC);if (crc.length() == 2) {crc = "00" + crc;} else if (crc.length() == 3) {crc = "0" + crc;}crc = crc.substring(2, 4) + crc.substring(0, 2);return crc.toUpperCase();}
CRC校验 java modbus相关推荐
- java crc 校验码_java实现CRC校验码
这两天项目中要使用到CRC校验功能,网上大量的例子是针对c.delphi的例子,前期没有做过,理论上也欠缺很多知识,在这里对java如何实现我们想要的crc校验功能做一下自己的总结,以下内容有本分转自 ...
- 编写一个字节数的rtu C语言校验程序,Modbus通信协议中CRC校验的快速C语言算法
Modbus通信协议中CRC校验的快速C语言算法 2004年第11期 福 建 电 脑 63 Modbus通信协议中CRC校验的快速C语言算法 孟开元 (西安石油大学计算机学院陕西西安710065) [ ...
- Java多word文件生成后进行压缩并导出下载后,压缩文件损坏并提示“不可预料的压缩文件末端”和“CRC校验失败”
Java多word文件生成后进行压缩并导出下载后,压缩文件损坏并提示"不可预料的压缩文件末端"和"CRC校验失败" WinRAR 打开情况: 提示不可预料的压缩 ...
- Java中的CRC校验
前言 最近客户有CRC校验的需求,即希望Android端对字符串进行校验,并将生成的2个字节的CRC校验码追加到字符串中,然后一起写入文件.当系统联网后,会通过写入的字符串去向服务器请求设备序列号,服 ...
- modbus c语言校验算法,Modbus CRC校验算法
终于找到了 Modbus CRC 校验算法 算法一: unsigned int calccrc(uchar crcbuf,uint crc) { uchar i; crc=crc ^ crcbuf; ...
- FPGA实现串口收发的八字节数据报文Modbus Crc校验
一.项目工程背景 串口之间的数据交互,是一个在实际工作当中应用非常广泛的场景,所以笔者在这篇博客里为大家详细介绍"串口八字节报文modbus crc收发校验"的工程案例,相信耐心地 ...
- 一文详解循环冗余校验校验算法(CRC校验)及C语言代码的实现 ---- 以CRC-16/MODBUS为例讲解
一.概述 现在的产品开发过程中,无论是数据的储存还是传输,都需要确保数据的准确性,所以就需要在数据帧后面附加一串校验码,方便接收方使用校验码校验接收到的数据是否是正确的. 常用的校验方式有奇偶校验.异 ...
- 三菱FX3G/FX3S+485bd扩展,采用modbus rtu协议,crc校验,通讯控制四台E700变频器,可以实现正反转
三菱FX3G/FX3S 485协议通讯四台三菱E700变频器程序资料 三菱FX3G/FX3S+485bd扩展,采用modbus rtu协议,crc校验,通讯控制四台E700变频器,可以实现正反转,停止 ...
- PLC中用scl语言编写算法求解modbus crc校验码
PLC中用scl语言编写算法求解modbus crc校验码 因为不是严格的modbus协议,是用的自由口通讯,传输数据里面得加上CRC校验,所以得搞个算法根据发送不同的数据生成相应的CRC校验码. 现 ...
最新文章
- 马虎的算式 - 蓝桥杯
- c#中通过截获windows消息禁止改变窗体大小
- QuickSkin简单学习--控制结构
- 使用webpack打包ES6代码
- 如何“干净地”终止 Win32 中的应用程序
- 装完金蝶电脑无限重启_金蝶财务软件快捷键大全,提高工作效率!
- 计算机主机系统总线,全国2009年10月高等教育自学考试计算机应用基础试题及答案...
- 相机标定-opencv
- 炮灰模型——女生选择追求者模型
- java自学网视频教程,系列教学
- 聊聊我的2021,总结与展望
- android后台进程隐藏手段
- 计算机网络子网掩码计算题,计算机网络复习题(计算题)
- 剖析常见的患上胆囊息肉的症状
- c# 正则表达式 Group
- 面向服务的体系架构(SOA)—架构篇
- 将逻辑分区的空间分给主分区C盘,使用diskgenius,提示需要在dos进行
- Pycharm安装与入门
- 为什么说冯诺依曼结构是现代计算机的基础,为什么现代计算机被称为冯·诺依曼结构计算机?...
- Android-Dex分包最全总结:含Facebook解决方案,移动app开发
热门文章
- Matlab自适应均线_李洋:卡夫曼自适应移动平均线MATLAB代码
- 思杰桌面虚拟化---------- 为什么我们仍然坚持MCS
- 百度离线地图示例之四:热力图
- 字符编码的故事(ASCII ISO GBK GB2312 UTF-8)
- 小学数学测试软件报告,2017年小学数学期末考试质量分析报告
- 【聆思CSK6 视觉AI开发套件试用】AI Demo试用
- 截止2010年3月25日的流量统计
- Unity Android 之 应用打开手机的指定网页浏览器(external browser)的两种方法(封装aar和不用封装aar方法)
- python爬虫 爬取JD商城快消品的保质期
- 推断速度达seq2seq模型的100倍,谷歌开源文本生成新方法LaserTagger