校验码生成工具

本文介绍了一个用C#编写的校验码生成工具,支持BCC、CS和CRC16三种校验方式。用户可以输入16进制序列,工具将自动计算并显示校验结果,方便进行单片机通信中的校验码验证。
摘要由CSDN通过智能技术生成

       做单片机通信时常常需要用到校验码,在不确定单片机校验输出结果正确与否的情况下我们不得不手工对报文进行计算并对比结果。手工计算有多麻烦笔者就不形容了。为此,为此,我制作了个校验码生成小工具,当前版本支BCC(Block Check Character/信息组校验码)实际上就是所有字节的异或校验、CS(256校验)即,所有字节相加不考虑溢出、CRC16(循环冗余校验),代码及实现效果如下。


using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace 校验码生成工具

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        private void bt_Click(object sender, EventArgs e)

        {

            byte[] intputBuf;

            int result = 0;                                   //输出结果

            string intputStr = intputbox.Text;             //得到输入的16进制序列

            intputStr = intputStr.Replace(" """);      //去掉空格,如果存在

            intputStr = intputStr.Replace("0x""");     //去掉0x,如果存在

            intputStr = intputStr.Replace("0X""");     //去掉0X,如果存在

            intputStr = intputStr.Replace(",""");

            intputStr = intputStr.Replace("H"<

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
DLT645协议解析器及modbus CRC和DLT CS校验码计算,支持两种输入格式,带空格和不带空格。默认需要安装微软VS2012发布包。 比如输入FE FE FE FE 68 AA AA AA AA AA AA 68 13 00 DF 16,解析出结果如下: [11-05 08:39:58:676] 输入数据: FE FE FE FE 68 AA AA AA AA AA AA 68 13 00 DF 16 [11-05 08:39:58:681] 类型=上1结算日C相反向有功电能 [11-05 08:39:58:685] 类型值=76 [11-05 08:39:58:689] 获取结果= 0.00 另外可按键获取如下CRC [11-05 08:39:58:697] *********************************************** [11-05 08:40:08:268] 输入数据:FE FE FE FE 68 AA AA AA AA AA AA 68 13 00 DF 16 [11-05 08:40:08:276] DLT645 CRC=0xCC [11-05 08:40:08:283] *********************************************** [11-05 08:40:10:813] 输入数据:FE FE FE FE 68 AA AA AA AA AA AA 68 13 00 DF 16 [11-05 08:40:10:821] CRC(Modbus)=0x6FE5 [HIGH LOW]=[6F E5] [11-05 09:05:30:239] 输入数据: 68 30 65 00 00 00 00 68 11 04 33 33 33 33 46 16 [11-05 09:05:30:247] 类型=当前组合有功总电能 [11-05 09:05:30:254] 类型值=1 [11-05 09:05:30:264] 获取结果= 0.00 [11-05 09:06:25:098] 输入数据: 68 29 65 00 00 00 00 68 91 08 35 36 36 33 C9 CC 36 33 C9 16 [11-05 09:06:25:112] 类型=上2结算日组合无功1费率3电能 [11-05 09:06:25:127] 类型值=11 [11-05 09:06:25:142] 获取结果=399.96 [11-05 09:33:10:453] 输入数据: FE FE FE FE 68 29 65 00 00 00 00 68 11 04 35 35 34 33 44 16 [11-05 09:33:10:460] 类型=上2结算日正向有功费率2电能 [11-05 09:33:10:467] 类型值=5 [11-05 09:33:10:476] 获取结果= 0.00 [11-05 09:33:10:484] *********************************************** [11-05 09:33:32:065] 输入数据: FEFEFEFE68296500000000681104353534334416 [11-05 09:33:32:074] 类型=上2结算日正向有功费率2电能 [11-05 09:33:32:086] 类型值=5 [11-05 09:33:32:097] 获取结果= 0.00
checksum校验码生成工具是一种用于验证数据完整性的工具。它通过对数据进行计算,生成一个校验码,并将校验码附加在数据中。当数据接收方收到数据时,可以通过再次计算校验码,并与接收到的校验码进行比较,从而判断数据是否发生了损坏或被篡改。 checksum校验码生成工具的工作原理是将数据分割成固定大小的数据块,然后对每个数据块进行计算。通常使用的校验算法是循环冗余校验CRC)或校验和算法。这些算法通过对数据进行位运算和异或运算等操作,生成一个校验码。 要使用checksum校验码生成工具,首先需要将需要进行校验的数据输入到工具中。然后选择合适的校验算法和参数,并开始计算校验码。一旦计算完成,校验码将会被自动附加到原始数据中。 使用checksum校验码生成工具可以有效地检测数据传输过程中是否发生了错误。当数据在传输过程中经过噪声、干扰或传输错误的环境时,仅依靠数据本身的内容很难判断数据是否完整和正确。而通过校验码的比对,可以快速、准确地识别出数据是否受到了损坏或篡改。 总之,checksum校验码生成工具是一种用于验证数据完整性的工具,它通过对数据进行计算,生成一个校验码,并将校验码附加在数据中。使用该工具可以迅速、准确地检测数据是否发生了错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值