LRC纵向冗余校验
来源:互联网 发布:芬尼根的守灵夜 知乎 编辑:程序博客网 时间:2024/06/05 04:16
1、LRC校验
LRC域是一个包含一个8位二进制值的字节。LRC值由传输设备来计算并放到消息帧中,接收设备在接收消息的过程中计算LRC,并将它和接收到消息中LRC域中的值比较,如果两值不等,说明有错误。 LRC校验比较简单,它在ASCII协议中使用,检测了消息域中除开始的冒号及结束的回车换行号外的内容。
它仅仅是把每一个需要传输的数据按字节叠加后取反加1即可。下面是它对应的代码:
BYTE GetCheckCode(const char * pSendBuf, int nEnd)//获得校验码
{
BYTE byLrc = 0; char pBuf[4]; int nData = 0;
for(i=1; i<end; i+=2) //i初始为1,避开“开始标记”冒号
{
//每两个需要发送的ASCII码转化为一个十六进制数
pBuf [0] = pSendBuf [i]; pBuf [1] = pSendBuf [i+1];
pBuf [2] = '\0';
sscanf(pBuf,"%x",& nData); //将pbuf值输入到nData
byLrc += nData;
}
byLrc = ~ byLrc;
byLrc ++; return byLrc;
}
阅读全文
0 0
- LRC纵向冗余校验
- 使用JS写纵向冗余校验LRC的方法
- 冗余校验
- CRC16 LRC校验
- Java 版本LRC校验
- iOS LRC校验
- BCC、CRC、LRC校验算法
- LRC异或校验算法
- 循环冗余校验----CRC校验
- 循环冗余校验-CRC校验
- CRC16冗余校验
- 循环冗余校验法
- CRC循环冗余校验
- 循环冗余校验CRC
- 循环冗余校验
- CRC循环冗余校验
- CRC冗余校验详解
- CRC16 循环冗余校验
- win10下使用nltk的brown的词性tag包报错以及处理方法安装nltk相应包的操作办法
- WebGoat开发版配置
- Dalvik指令
- IAP+YMODEM+CRC16+AES256+PC端软件+hex合并
- JDK8-Lambda表达式(一)
- LRC纵向冗余校验
- hive仓库和关系型数据库的对比
- 考研
- Win10 64bit下安装GPU版Tensorflow+Keras
- c++远征之模板篇——函数模板、类模板
- 再谈Comparator-使用lambda表达式
- Java实现-数字组合1
- poj2081
- Skill: MacOS Sierra 删除MobileBackups文件夹,扩大磁盘空间