hex文件的认识

接触HEX文件,主要是在一个项目上烧写eeprom。

首先先看这位前辈讲的很明白,https://www.cnblogs.com/libra13179/p/5821266.html,下面做一些补充。
 

补充

(百度百科https://baike.baidu.com/item/hex文件格式/1025048?fr=aladdin

1.HEX行格式

<0x3a>               (英文冒号 )
[数据长度 1Byte] (字符串形式HEX)
[数据地址 2Byte] (字符串形式HEX)
[数据类型  1Byte](字符串形式HEX)
[数据        nByte] (字符串形式HEX)
[校验        1Byte] (字符串形式HEX)
<0x0d>               (转义字符 \r)
<0x0a>               (转义字符 \n)
 

例:

:10FC00000100000000000000FE000000FFFFFFFFF9
 

2.基地址行(Extended Linear Address Record)

将会再后面的数据行地址自动加入基地址(基地址行的数据)。
:020000040004F6
 

3.最后结束行(End of File Record )

HEX文件结束行,代表hex的结束操作指令
:00000001FF
 

4.校验码C#代码

        public string getcheckcode(byte[] data)//byte转HEXString
        {
            int lenn = data[0];//长度
            int adr = data[1] << 8 | data[2];//地址
            int type = data[3];//类型
            byte[] temp = new byte[lenn];
            Array.ConstrainedCopy(data, 4, temp, 0, lenn);//复制数据到指定长度数组

            int sum = 0;//所有8位数据相加的和
            for (int j = 0; j < lenn; j++)
            {
                Console.WriteLine(temp[j]);
                sum += temp[j];
            }
            int checkcode = (0x100 - ((lenn + (adr >> 8 & 0xff) + (adr & 0xff) + type + sum) % 256))%256;//带入公式0x100-((长度+地址L+地址H+数据和)%256),再%256保证没有0x100校验码
            return String.Format("{0:X2}", checkcode);//返回校验码字符串
        }

5.检验工具

查看或者检验可以用Notepad++打开HEX格式文件,它会把错误行提示出来。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值