电子工程师的网站
首 页 | 新闻资讯 | 最新产品 | 解决方案 | 技术参数 | 设计应用 | 电路图 | 技术资料
维库知道
芯片资料 | 技术论坛
PDF资料 IC货源
  单片机 现在位置: 首页 >单片机     
单片机的checksum怎样计算? 单片机的checksum怎样计算?用不同的烧录器得到的checksum不同请问单片机中烧录的程序是否一样?

单片机的checksum怎样计算?

单片机的checksum怎样计算?用不同的烧录器得到的checksum不同请问单片机中烧录的程序是否一样?


最佳答案 - 由投票者6个月前选出

可以把文件中每个字节值求和,这是最简单的方法

至少要用一个Long(32bit)的求和值,然后取反!

选定一个算法,

一般是个字节求和,然后和一个数取模。

比如 一个文件的每个字节相加为 0x0fe345,那么和0xff 取模,结果为0x45,这个数可以算作一个校验和。

bios里面的校验和的计算方法 各字节的和与0xff取模,然后取补码作为最后一个字节,这样保证文件的总和与0xff取模为0。


一般是逐个字节求做“异或”操作
//-----------------------------------------------------------------------------
// ChkSum()
// Returns an unsigned byte checksum computed on an unsigned byte
// array. The array must be 11 bytes long and is assumed to contain
// a name stored in the format of a MS-DOS directory entry.
// Passed: pFcbName Pointer to an unsigned byte array assumed to be
// 11 bytes long.
// Returns: Sum An 8-bit unsigned checksum of the array pointed
// to by pFcbName.
//------------------------------------------------------------------------------
unsigned char ChkSum (unsigned char *pFcbName)
{
short FcbNameLen;
unsigned char Sum;
Sum = 0;
for (FcbNameLen=11; FcbNameLen!=0; FcbNameLen--) {
// NOTE: The operation is an unsigned char rotate right
Sum = ((Sum & 1) ? 0x80 : 0) + (Sum >> 1) + *pFcbName++;
}
return (Sum);
}

1 楼          时间:2008-1-2

选定一个算法,

一般是个字节求和,然后和一个数取模。

比如 一个文件的每个字节相加为 0x0fe345,那么和0xff 取模,结果为0x45,这个数可以算作一个校验和。

bios里面的校验和的计算方法 各字节的和与0xff取模,然后取补码作为最后一个字节,这样保证文件的总和与0xff取模为0。

 
我也来回答:
 
 
最新知道
我的博客被屏蔽了 怎么...
我家的稳压器发出臭气是...
12V能变20V吗?
11家赌场都叫什么名呀
ECU是代表什么啊?
开关管1403短路是什么原...
要铣机操作工吗
D15LC20U
pin光敏二极管
asdasdasdasdasdasdas
热点排行
12v转换220v带150w的电...
k31115电源开关管用什么...
南开大学电子信息科学与...
MC1454构成的低功耗文氏...
ACC
请问商务英语自考有那些...
我家里的锅盖连一个基本...
何处有以秸杆为原料的制...
我174体重55公斤 这样算...
为什么漏电开关经常跳闸
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2008 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
总部:杭州建国北路707号星汇大厦6号楼1101室
电话:13357183237 QQ:344945827 303939539  邮箱:laz8258@163.com dzsc51@163.com