当前位置: 首页 > news >正文

php实现modbus CRC校验

一:计算CRC校验函数

function calculateCRC16Modbus($string)
{$crcBytes = [];for ($i = 0; $i < strlen($string); $i += 2) {$crcBytes[] = hexdec(substr($string, $i, 2));}$crc = 0xFFFF;$polynomial = 0xA001;  // This is the polynomial x^16 + x^15 + x^2 + 1foreach ($crcBytes as $byte) {$crc ^= $byte;for ($i = 0; $i < 8; $i++) {if ($crc & 0x0001) {$crc = (($crc >> 1) ^ $polynomial) & 0xFFFF;} else {$crc >>= 1;}}}return $crc;
}

二:调用CRC校验

$request = 'XXXXXXXX';
$res = calculateCRC16Modbus($request);
echo str_pad(strtoupper(dechex($res %256)), 2, "0", STR_PAD_LEFT);//低八位
echo str_pad(strtoupper(dechex(floor($res /256))), 2, "0", STR_PAD_LEFT);高八位

http://www.lryc.cn/news/375700.html

相关文章:

  • 2025年计算机毕业设计题目参考
  • ERP、CRM、SRM、PLM、HRM、OA……都是啥意思?
  • Jmeter分布式、测试报告、并发数计算、插件添加方式、常用图表
  • 3D三维模型展示上传VR全景创建H5开源版开发
  • js中!emailPattern.test(email) 的test是什么意思
  • 半监督医学图像分割:基于对抗一致性学习和动态卷积网络的方法| 文献速递-深度学习结合医疗影像疾病诊断与病灶分割
  • Scikit-Learn支持向量机回归
  • ElasticSearch的桶聚合
  • vue引入aos.js实现滚动动画
  • python+selenium之点击元素报错:‘NoneType‘ object has no attribute ‘click‘
  • Web 品质国际化
  • 绿色免费离线版JS加密混淆工具 - 支持全景VR加密, 小程序js加密, H5网站加密
  • 文心一言 VS 讯飞星火 VS chatgpt (284)-- 算法导论21.2 2题
  • 计算机组成原理网课笔记2
  • C++ | Leetcode C++题解之第143题重排链表
  • 手写一个JSON可视化工具
  • 洁盟超声波清洗机怎么样?2024爆款机型声波清洗机测评、一篇看懂
  • react 自定义鼠标右键点击事件
  • make V=1 分析
  • 每天一个数据分析题(三百五十八)-图表决策树
  • HarmonyOS 页面路由(Router)
  • Python 正则表达式语法
  • 计算机专业毕设-校园二手交易平台
  • 微信小程序添加服务类目|《非经营性互联网信息服务备案核准》怎么获取
  • Internet Download Manager ( 极速下载器 ) 序列号注册码 IDM下载器注册机中文激活破解版
  • FPGA - 滤波器 - IIR滤波器设计
  • 练习时长 1 年 2 个月的 Java 菜鸡练习生最近面经,期望25K
  • 计算机跨考现状,两极分化现象很严重
  • leetcode73 矩阵置零
  • 了解 XML HttpRequest 及其在 Web 开发中的应用