labview中使用CAN总线中crc15算法
来源:互联网 发布:软件开发年终总结 编辑:程序博客网 时间:2024/05/14 07:53
CRC15校验,输入二进制字符串,返回字符串的15位校验位。
可用于CAN总线中CRC校验位的生成。CRC-15算法。
P(x) = x15+ x14+ x10+ x8+ x7+ x4+ x3+ x0
其实现代码如下:
// CRC Generation Unit - Linear Feedback Shift Register implementation
// (c) Kay Gorontzi, GHSi.de, distributed under the terms of LGPL// ==========================================================================char *MakeCRC(char *BitString) { static char Res[16]; // CRC Result char CRC[15]; int i; char DoInvert; for (i=0; i<15; ++i) CRC[i] = 0; // Init before calculation for (i=0; i<strlen(BitString); ++i) { DoInvert = ('1'==BitString[i]) ^ CRC[14]; // XOR required? CRC[14] = CRC[13] ^ DoInvert; CRC[13] = CRC[12]; CRC[12] = CRC[11]; CRC[11] = CRC[10]; CRC[10] = CRC[9] ^ DoInvert; CRC[9] = CRC[8]; CRC[8] = CRC[7] ^ DoInvert; CRC[7] = CRC[6] ^ DoInvert; CRC[6] = CRC[5]; CRC[5] = CRC[4]; CRC[4] = CRC[3] ^ DoInvert; CRC[3] = CRC[2] ^ DoInvert; CRC[2] = CRC[1]; CRC[1] = CRC[0]; CRC[0] = DoInvert; } for (i=0; i<15; ++i) Res[14-i] = CRC[i] ? '1' : '0'; // Convert binary to ASCII Res[15] = 0; // Set string terminator return(Res); }// A simple test driver:#include <stdio.h>int main() { char *Data, *Result; // Declare two strings Data = "1101000101000111"; Result = MakeCRC(Data); // Calculate CRC printf("CRC of [%s] is [%s] with P=[1100010110011001]\n", Data, Result); return(0); }其中输入为二进制字符串。
- labview中使用CAN总线中crc15算法
- LabVIEW中使用二进制文件
- LabVIEW 中使用dll
- LabVIEW中使用CIN节点
- CAN总线使用总结
- LabVIEW中使用datasocket的问题
- Labview中使用matlab script方法
- labview中波形图表的使用
- 如何在LabVIEW中使用Modbus通信
- 在LabVIEW中高效使用内存
- CAN总线中循环冗余校验码的原理
- Labview中ini文件
- Labview中CRC校验
- Labview中数据类型转换
- Labview-浅谈Labview中VISA的设计
- Labview-浅谈Labview中VISA的设计
- STM32的CAN总线使用
- Labview中函数节点控件DLL的使用
- Oracle评级函数
- Linux设备驱动学习(1) 全局内存空间“设备”驱动程序globalmem
- CodeForces Round #112 Div2 165 D. Beard Graph
- 一些页面自动跳转的实现
- Voronoi图的实现方法
- labview中使用CAN总线中crc15算法
- 调用谷歌地图api接口实现地图显示
- 复制文件处理
- platform设备驱动
- VC++中按特定标志字符实现字符串到字符串数组的分割(CString -> Cstring[])
- 多线程---读写锁
- 内部类
- 【转】ftp ALG 功能实现的概要说明
- 多线程----嵌套锁