精华内容
下载资源
问答
  • 内含两个工具: 1.hex文件转化为bin文件,方便单片机IAP下载。 2.单片机flash程序空间校验码计算,提供下位机计算工具,可用于单片机程序版本比对
  • CAN总线在线刷写传输HEX文件,校验码问题请教

    已经知道控制器发送0X600报文传输HEX文件,将HEX文件拆分重组,一次发送128Byte,但是数据结束后有1个byte的校验码,不知道计算方法,如24行的85,42的EB等等,求帮忙
    已经知道上位机发送0X600报文传输HEX文件,0X580是控制器反馈,将HEX文件拆分重组,一次发送128Byte,但是数据结束后有1个byte的校验码,不知道计算方法,如24行的85,42行的EB等等,求帮忙
    :02 00000400C436
    :10 0000 00 000000000000C400F25AC40000E5E000 57
    :10 0010 00 00EDE000006F0000000000005262C400 2C
    :10 0020 00 000200003C64C400FE74000002000000 F6
    :10 0030 00 E6F480CAE015DB005C2806F800F5D710 6E
    :10 0040 00 E000D4580200A848DB00ECFDECFEECFF 19
    :10 0050 00 F048D700E000F7F86699E108D700E000 23
    :10 0060 00 F7F87391E6F48500D700E000F6F42E92 DD
    :10 0070 00 E108D700E000F7F8C791E7F81E00D700 C5

    :10 0080 00 E000F7F82792E108D700E000F7F87095 54
    :10 0090 00 E108D700E000F7F87195E158D700E000 DB
    :10 00A0 00 F7F87295E108D700E000F7F87395E108 DA
    :10 00B0 00 D700E000F7F87495E108D700E000F7F8 02
    :10 00C0 00 7595E6F47695E6F5E000F084F095D700 B6
    :10 00D0 00 E000F3F86699E109F0A4DAE054E6E004 00
    :10 00E0 00 D700E000F6F4F295E004D700E000F6F4 63
    :10 00F0 00 F495E6F4F695E6F5E000F084F095D700 87

    :10010000E000F3F86699E109F0A4DAE024E7E6F408
    :100110000896E6F5E000F084F095D700E000F3F8EB
    :100120006699E109F0A4DAE02CE7E6F41896E6F522
    :10013000E000F084F095D700E000F3F86699E1095B
    :10014000F0A4DAE024E7E108D700E000F7F82A9607
    :10015000E118D700E000F7F82B96E108D700E0009F
    :10016000F7F82C96E108D700E000F7F82D96E004A8
    :10017000D700E000F6F42E96E004D700E000F6F495
    :100180003096E6F43296E6F5E000F084F095D7007C
    :10019000E000F3F86699E109F0A4DAE024E7E10869
    :1001A000D700E000F7F84496E6F44696E6F5E0005E
    :1001B000F084F095D700E000F3F86699E109F0A427
    :1001C000DAE02CE7E108D700E000F7F84596E6F41E
    :1001D0005696E6F5E000F084F095D700E000F3F8DD
    :1001E0006699E109F0A4DAE024E7E108D700E0002D
    :1001F000F7F86896E108D700E000F7F86996E6F4AA
    :100200006A96E6F5E000F084F095D700E000F3F898
    :100210006699E109F0A4DAE014E6E6F46A97E6F5F7
    :10022000E000F084F095D700E000F3F86699E1096A
    :10023000F0A4DAE014E6E004D700E000F6F4009061
    :10024000E014D700E000F6F40290E024D700E000CC
    :10025000F6F40490E034D700E000F6F40690E044B1
    :10026000D700E000F6F40890E054D700E000F6F480
    :100270000A90E064D700E000F6F40C90E074D70038
    :10028000E000F6F40E90E6F40800D700E000F6F483
    :100290001090E6F40900D700E000F6F41290E6F4BE
    :1002A0000A00D700E000F6F41490E6F40B00D70043
    :1002B000E000F6F41690E6F40C00D700E000F6F447
    :1002C0001890E6F40D00D700E000F6F41A90E6F47A
    :1002D0000E00D700E000F6F41C90E6F40F00D70003
    :1002E000E000F6F41E90E6F41000D700E000F6F40B
    :1002F0002090E6F41100D700E000F6F42290E6F436
    :100300001200D700E000F6F42490E6F41300D700C2
    :10031000E000F6F42690E6F41400D700E000F6F4CE
    :100320002890E6F41500D700E000F6F42A90E6F4F1
    :100330001600D700E000F6F42C90E6F41700D70082
    :10034000E000F6F42E90E6F41800D700E000F6F492
    :100350003090E6F41900D700E000F6F43290E6F4AD
    :100360001A00D700E000F6F43490E6F41B00D70042
    :10037000E000F6F43690E6F41C00D700E000F6F456
    :100380003890E6F41D00D700E000F6F43A90E6F469
    :100390001E00D700E000F6F43C90E6F41F00D70002
    :1003A000E000F6F43E90E6F42000D700E000F6F41A
    :1003B0004090E6F42100D700E000F6F44290E6F425
    :1003C0002200D700E000F6F44490E6F42300D700C2
    :1003D000E000F6F44690E6F42400D700E000F6F4DE
    :1003E0004890E6F42500D700E000F6F44A90E6F4E1
    :1003F0002600D700E000F6F44C90E6F42700D70082
    上面是HEX文件的记事本打开内容,求教 CAN上面的校验码计算方法,谢谢

    展开全文
  • HASH_EN 校验码检查

    2019-01-21 14:58:01
    校验码检查,打开后,将 HEX/BIN CODE 托进去即可看到CRC32 码。
  • 在DAVE4中自动把CRC校验码添加在HEX文件最后在DAVE4中自动把CRC校验码添加在HEX文件最后
  • 纵向冗余校验(Longitudinal Redundancy Check,简称:LRC)是通信中常用的一种校验形式,也称...1)当选择HEX输入时: 1、对需要校验的数据(2n个字符)两两组成一个16进制的数值求和。 2、将求和结果与256求模...

    纵向冗余校验(Longitudinal Redundancy Check,简称:LRC)是通信中常用的一种校验形式,也称LRC校验或纵向校验。它是一种从纵向通道上的特定比特串产生校验比特的错误检测方法。在工业领域,Modbus协议Ascii模式采用该算法进行校验。

    具体算法如下

    1)当选择HEX输入时:

    1、对需要校验的数据(2n个字符)两两组成一个16进制的数值求和。

    2、将求和结果与256求模。

    3、用256减去所得模值得到校验结果(另一种方法:将模值按位取反然后加1)。

    例如:输入16进制数据:01 A0 7C FF 02

    (16进制计算)求和:01 + A0 + 7C + FF + 02 = 21E,取模:21E % 100 = 1E,计算:100 - 1E = E2

    2)当选择ASCII码输入时:每1个字符即为一个字节,相当入两个16进制字符,如:ASCII码的‘1’,即代表0x31。

    1、对需要校验的数据(n个字符)的ASCII码原值求和。

    2、将求和结果与256求模。

    3、用256减去所得模值得到校验结果(另一种方法:将模值按位取反然后加1)。

    LRC纵向冗余校验码,Modbus通讯ASCII模式LRC校验码在线计算器
    16进制(CRC8)(累加和,LRC校验),ASCII码校验和在线计算器
    16进制(CRC16)(MODBUS RTU通讯)校验码在线计算器

    展开全文
  • #生成CRC16-MODBUS校验码 def crc16Add(read): crc16 = crcmod.mkCrcFun(0x18005, rev=True, initCrc=0xFFFF, xorOut=0x0000) data = read.replace(" ", "") #消除空格 readcrcout = hex(crc16(unhexlify(data))...
    from binascii import *
    import crcmod
    
    #生成CRC16-MODBUS校验码
    def crc16Add(read):  
        crc16 = crcmod.mkCrcFun(0x18005, rev=True, initCrc=0xFFFF, xorOut=0x0000)
        data = read.replace(" ", "") #消除空格
        readcrcout = hex(crc16(unhexlify(data))).upper()
        str_list = list(readcrcout)
        # print(str_list)
        if len(str_list) == 5:
            str_list.insert(2, '0')  # 位数不足补0,因为一般最少是5个
        crc_data = "".join(str_list) #用""把数组的每一位结合起来  组成新的字符串
        # print(crc_data)
        read = read.strip() + ' ' + crc_data[4:] + ' ' + crc_data[2:4] #把源代码和crc校验码连接起来
        # print('CRC16校验:', crc_data[4:] + ' ' + crc_data[2:4])
        print(read)
        return read
    
    if __name__ == '__main__':
        crc16Add("01 06 00 66 00 C8 00 00")
    

    运行结果如下(经校验正确)
    在这里插入图片描述

    展开全文
  • CRC全称Cyclic Redundancy Check,中文称为循环冗余检查。它是一种数据传输检错的机制,能够对数据进行多项式计算,并将得到的...1. Load a 16-bit register with FFFF hex (all ‘1’s). Call this the CRC regist...

            CRC全称Cyclic Redundancy Check,中文称为循环冗余检查。它是一种数据传输检错的机制,能够对数据进行多项式计算,并将得到的结果与接收设备共享,保证数据传输的正确性和完整性。

            算法流程如下:

    1. Load a 16-bit register with FFFF hex (all ‘1’s). Call this the CRC register.

    2. Exclusive OR the first 8-bit byte of the message with the low-order byte of the 16-bit CRC register, putting the result in the CRC register.

    3. Shift the CRC register one bit to the right (toward the LSb), zero-filling the MSb. Extract and examine the LSb.

    4. If the LSb is ‘0’, repeat Step 3 (another shift). Otherwise, if the LSB is ‘1’, Exclusive OR the CRC register with the polynomial value 0xA001 (1010 0000 0000 0001).

    5. Repeat steps 3 and 4 until eight shifts have been performed. When this is done, a complete 8-bit byte will have been processed.

    6. Repeat steps 2 through 5 for the next 8-bit byte of the message. Continue doing this until all bytes have been processed.

    7. The final content of the CRC register is the CRC value.

    8. When the CRC is placed into the message, its upper and lower bytes must be Swapped to let the High 8-bit first and followed by low 8-bit.

            翻译成中文:

    1. 载入一个16位的寄存器,赋值为FFFF,叫做CRC寄存器。

    2. 将信息中的第一个8位字节同寄存器的低8位进行异或运算,结果保存在CRC寄存器中。

    3. CRC寄存器向右移动1位,缺位补0,同时检查最低位。

    4. 如果最低位是0,重复步骤3,如果为1,则CRC寄存器与十六进制值A001进行异或运算。

    5. 重复步骤3和4直到8次移位结束,如此处理完一个字节的数据啦。

    6. 重复步骤2到步骤5,运算信息中之后的全部8位字节。

    7. 最后的CRC寄存器值就是CRC值。

    8. 交换CRC寄存器值的高八位和低八位,放在信息中。

            这一次,写出一个函数,进行对一个8位字节进行CRC运算。

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace CRC
     8 {
     9     class Program
    10     {
    11         static void Main(string[] args)
    12         {
    13             Console.WriteLine(CalaCRC.CRCCalculating(0xAE0F));         
    14         }
    15     }
    16     class CalaCRC
    17     {
    18         public static UInt32 CRCCalculating(UInt32 CRCByte){
    19             UInt32 CRCRegister = 0xFFFF;
    20             CRCRegister = (CRCByte ^ CRCRegister);
    21 
    22             CRCRegister = CRCRegister >> 1;
    23             int i = 1;
    24 
    25             for (; i <= 8; i++)
    26             {
    27                 if (CRCRegister % 2 == 0)
    28                 {
    29                     CRCRegister = CRCRegister ^ 0xA001;
    30                     i--;
    31                 }
    32                 else
    33                 {
    34                     CRCRegister = CRCRegister >> 1;
    35                 }
    36             }
    37             return CRCRegister;
    38         }
    39     }
    40 }

            其中CalaCRC类中的静态函数,对输入的字节产生一个经过CRC运算的输出。
            下一篇文章,实现通过控制台调用exe读取文件来实现CRC校验码运算。

     

    转载于:https://www.cnblogs.com/Dukechris/p/4396375.html

    展开全文
  • 用Python批量修改hex文件的内容

    千次阅读 2019-03-27 22:26:39
    用Python批量修改hex文件的内容 ...后续补上:大概关于hex校验码,从大的hex文件中提取需要的hex的部分地址 1.代码 import time import os import copy def quchong(filename_old_path): fileob...
  • CByteArray hexdata,hexdata1,hexdata2,hexdata3,hexdata4,hexdata5,hexdata6,hexdata7,hexdata8,hexdata9,hexdata10,hexdata11; hexdata1.Add(0xAA); hexdata1.Add(0x00); hexdata1.Add(0x2C); hexdata1...
  • 转自:http://blog.csdn.net/achang21/article/details/33741477 需要commons-codec包 文件 DigestUtils.md5Hex(new FileInputStream(new File("C:/1.txt"))) 字符串 DigestUtils.md5Hex("111")
  • QT写的本地可用的字符串或文件 的Base64、Hex编解码,字符串或文件的MD4、MD5、SHA1校验码生成工具,功能强大、快捷方便。
  • python 实现CRC(循环冗余)校验

    万次阅读 2020-09-01 19:45:07
    循环冗余校验码(CRC),简称循环码,是一种常用的、具有检错、纠错能力的校验码,在早期的通信中运用广泛。循环冗余校验码常用于外存储器和计算机同步通信的数据校验。奇偶校验码和海明校验码都是采用奇偶检测为...
  • 近期做测试模拟器用到了hex-bytes-str之间的转换bcc校验,这里总结了一些方法。 实例 直接上代码 转为十六进制(Hex)字符串 def getStringFromNumber(self,size,value): """ 转为十六进制(Hex)字符串 :...
  • CRC32校验_MFC

    2021-06-03 10:22:47
    能够通过ASC和Hex输入,计算出CRC32的校验码Hex和Bin形式,和网页上CRC32校验一模一样
  • System.out.println(new String(toHex(fromHex(salt)))); KeySpec spec = new PBEKeySpec(password.toCharArray(), fromHex(salt), PBKDF2_ITERATIONS, HASH_BIT_SIZE); SecretKeyFactory f = ...
  • HEX文件格式解析

    2021-05-17 11:58:02
    Hex文件是可以烧写到单片机中,被单片机执行的一种文件格式,生成Hex文件的方式由很多种,可以通过不同的编译器将C... 校验码 1 byte 2 bytes 1 byte n byte 1 byte : 02 0000 04 ...
  • 起始“:” 字节数 地址 记录类型 数据 校验和 状态栏指示器 在状态栏上添加一些信息: 二进制大小(以字节为单位),即文件中包含的二进制信息中的字节总数,没有所有inte十六进制格式的开销。 二进制信息中...
  • CRC校验

    千次阅读 2019-04-18 19:34:41
    CRC16的算法原理: 1、根据CRC16的标准选择初值CRCLn...5、重复将所有输入数据操作完成以上步骤,所得的16位数即为16位CRC校验码。 常见的机组CRC公式: 关于数据位序:如果我们的机器是小端模式(低位在后,高位...
  • HEX转BIN文件总结

    千次阅读 2017-05-17 09:19:58
    HEX转BIN文件总结hex是以文本的形式保存在文件内的,bin则是纯粹的二进制文件。 hex包含地址信息,bin不包含hex文件... 校验码 1 byte 10 2CB0 00 ABFF00982060019860601CBDE82C0008 04 hex文件的每一行数据都是
  • 校验码的算法:计算校验码前所有字节的累加和(不进位),校验码=0x100-累加和。 例如: :040000002CEF10F0E1 # 这里 E1 为校应码 python计算校应码(来验证校应码计算公式): 代码: # data 为hex某一行的字符串...
  • Delphi的CRC32校验

    2014-06-27 15:04:11
    1.校验码流和Hex string;即测试2种方法,有详细案例; 2.两种方法校验文件;(校验TS流和文件使用2个table,原因未知)
  • HEX文件格式分析

    2020-03-26 19:29:55
    打开后可发现,真个文件以行为单位,每行以冒号开头,内容全部为16进制Hex文件可以按照如下的方式进行拆分来分析其中的内容: hex文件每一行的数据格式为: 冒号 数据长度 存储地址 数据类型 数据内容 校验...
  • Intel-hex-CS.exe

    2020-02-27 21:37:53
    直接建立hex文件,使用51单片机指令对应的机器操作点亮LED或者其它,手动计算校验和比较麻烦,我们可以采用软件,直接计算出校验
  • 1.前言 物联网的通信智能锁,远程控制锁的开关。想要远程通信,必须要用指定的协议发送给机器才可以实现智能开锁。需要发送的数据是16进制的hex,并且最后一位的数据...BCC(Block Check Character/信息组校验码),因校
  • CheckSum CRC校验

    2019-02-28 14:33:56
    CommCheckSum校验工具是一款通用的循环冗余校验码CRC(Cyclic Redundancy Check)、MD5、SHA1、SHA2、SHA3、HAVAL、SHAKE、TIGER、BLAKE、RIPEMD、GOST等算法Hash校验的专业工具软件。 CRC校验支持:CRC3、CRC4、...
  • bin文件需要进行特殊的处理(增加文件头与MD5校验码),用于在串口升级使用。本项目中使用IAR编译器,IAR编译器无法通过工程设置同时生成HEX,BIN文件,同时生成hex,bin文件无法直接使用,需要进行进一步的处理。本文...
  • HEX文件解析

    2021-04-02 15:13:46
    开头数据: :020000041004E6 :1000000000800020119B0510AD8D0510A98F0410F4 ... 数据类型或叫功能 数据 校验位 0x02 0x00 0x00 0x04 0x10 0x04 0xE6 数据类型共有.
  • Hex Workshop_6.7.2.rar

    2020-04-03 14:02:50
    一款专业的十六进制编辑器,绿色中文版,可以方便地进行十六进制编辑、插入、填充、删除、剪切、复制和粘贴操作,配合查找、替换、比较以及计算校验码等命令使工作变得简单,直接,并附带计算器和转换器工具。
  • hex文件格式详解

    2018-10-17 16:35:00
    校验码 : 1 byte 2 bytes 1 byte n byte 1 byte : 05 0010 00 A2C2A280FE 67 : 00 0000 01 FF 第一个字节:表示本行的数据长度.第二个,第三个字节表示本行数据的起始地址.第四字节表示数据类型,数据类型有:0x00...
  • hex文件的解析- keil

    2020-06-30 22:38:39
    .hex整个文件以行为单位,每行以冒号开头,内容全部为16进制(以ASCII形式显示) 格式为: <0x3a > 数据长度 1byte 数据地址 2byte 数据类型 1byte 数据 nbyte 校验 1byte <0x0d> <0x0a> ...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 169
精华内容 67
关键字:

hex校验码