Combined serial number = (ID series * 524288) + serial number.
Then the combined serial number must be converted to hexadecimal and insert with the least significant byte first. Below example shows the hex file created for a serial number of 14 and a ID series of 4. This gives 20000E. The serial number is followed by a CRC-8 and at the end the Intel
Checksum. The rest of the characters are the same for every time.
:100000000E0020E2000000000000000000000000E0
意思如下:(4*524288)+14转换成16进制后为20000e,倒一下,变成0E0020,然后进行CRC-8校验,得到E2,请问这边的E2是如何算出来的,请给出C#的算法。我在网上找了很多C#算法,都算不出是E2,是不是这边算错了?
C# CRC8算法校验问题,如何进行校验
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- ChatGPTᴼᴾᴱᴺᴬᴵ 2023-01-16 16:08关注
CRC-8 (Cyclic Redundancy Check 8-bit) 是一种数据校验算法,它通过计算一串数据的8位校验和来检测数据传输过程中是否发生错误。
在 C# 中,可以使用第三方库来实现CRC-8校验,例如:Crc8Calculator.cs (https://github.com/KonradIT/crc8-net/blob/master/Crc8Calculator.cs)
你可以下载这些第三方库并在你的项目中使用,或者根据这些库的代码来实现你自己的CRC-8校验算法。
需要注意的是,CRC-8校验的算法可能有多种不同的实现方法,所以如果你找到的C#算法算出的校验和不是E2,那可能是算法实现不同导致的。
你可以尝试使用上面提到的第三方库,或者确认你的输入数据是否正确。
解决 无用评论 打赏 举报
悬赏问题
- ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
- ¥15 乘性高斯噪声在深度学习网络中的应用
- ¥15 运筹学排序问题中的在线排序
- ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
- ¥30 求一段fortran代码用IVF编译运行的结果
- ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
- ¥15 C++ 头文件/宏冲突问题解决
- ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
- ¥50 安卓adb backup备份子用户应用数据失败
- ¥20 有人能用聚类分析帮我分析一下文本内容嘛