资源简介
HEC信息头差错控制算法,用于ATM信息包头校验,蓝牙通信包头也采用该校验算法,纯C语言编写,附带简单的应用例程。
代码片段和文件信息
#include“hec.h“
#define HEC_LSB (0x01)
#define HEC_MSB_8 (0x80)
//功能:HEC编码
//返回:该段数据的HEC编码值
//head_message:包头信息
//head_init_code:线性移位器初始值
//message_length:信息位长
//hec_covcode:hec循环码(跟生成矩阵函数(g(x)有关)
u8 HEC_Encode(u32 head_messageu8 hec_init_codeu8 message_lengthu8 hec_covcode)
{
u8 i;
u8 flag;
u8 hec_code =hec_init_code;
for (i=0;i {
flag =((hec_code & HEC_MSB_8)!=0) ^ ((head_message & HEC_LSB)!=0);
hec_code <<=1;
head_message >>=1;
if (flag) //不为零
{
hec_code ^=hec_covcode;
}
}
return hec_code;
}
//功能:对数据进行HEC校验
//返回:0:数据校验成功1:数据校验发现异常
//head_message:包头信息
//hec_code:该信息的HEC码
//head_init_code:线性移位器初始值
//message_length:信息位长
//hec_covcode:hec循环码(跟生成矩阵函数(g(x)有关)
u8 HEC_Decode(u32 head_messageu8 hec_codeu8 hec_
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-10-23 23:54 HEC校验\
目录 0 2012-10-23 21:55 HEC校验\Debug\
文件 31232 2012-10-23 23:54 HEC校验\Debug\hec.exe
文件 307248 2012-10-23 23:54 HEC校验\Debug\hec.ilk
文件 388096 2012-10-23 23:54 HEC校验\Debug\hec.pdb
目录 0 2012-10-23 21:55 HEC校验\hec\
文件 1430 2012-10-23 21:53 HEC校验\HEC.c
文件 269 2012-10-23 21:37 HEC校验\hec.h
文件 27648 2012-10-23 23:54 HEC校验\hec.ncb
文件 875 2012-10-23 21:33 HEC校验\hec.sln
文件 8192 2012-10-23 23:54 HEC校验\hec.suo
目录 0 2012-10-23 23:54 HEC校验\hec\Debug\
文件 5760 2012-10-23 23:54 HEC校验\hec\Debug\BuildLog.htm
文件 663 2012-10-23 21:44 HEC校验\hec\Debug\hec.exe.em
文件 728 2012-10-23 21:44 HEC校验\hec\Debug\hec.exe.em
文件 621 2012-10-23 23:54 HEC校验\hec\Debug\hec.exe.intermediate.manifest
文件 4037 2012-10-23 21:53 HEC校验\hec\Debug\HEC.obj
文件 2880 2012-10-23 23:54 HEC校验\hec\Debug\main.obj
文件 65 2012-10-23 23:54 HEC校验\hec\Debug\mt.dep
文件 27648 2012-10-23 23:54 HEC校验\hec\Debug\vc90.idb
文件 53248 2012-10-23 23:54 HEC校验\hec\Debug\vc90.pdb
文件 11776 2012-10-23 21:54 HEC校验\hec\hec.suo
文件 4023 2012-10-23 23:51 HEC校验\hec\hec.vcproj
文件 1427 2012-10-23 23:54 HEC校验\hec\hec.vcproj.ZGC-20110625GMS.Administrator.user
文件 377 2012-10-23 23:54 HEC校验\main.c
- 上一篇:21点纸牌游戏源代码 C++
- 下一篇:图书管理基本业务活动
评论
共有 条评论