void computeCRC(IN unsigned char* pInBuffer, IN unsigned short length, OUT unsigned char *pTransmitFirst, OUT unsigned char *pTransmitSecond)
函数功能:
计算TYPEB的数据帧的CRC参数说明:
pInBuffer 指向待处理的数据缓冲区
length 数据长度 ,不计入crc本身的2字节
pTransmitFirst 指向要首先发送的CRC字节(低字节)
pTransmitSecond 指向第二个CRC字节(高字节)
返回值:
无备注:void computeCRC(unsigned char* pInBuffer, unsigned short length, unsigned char *pTransmitFirst, unsigned char *pTransmitSecond)
{
unsigned char ch;
unsigned short wCrc;
unsigned short temp1,temp2,temp3,temp4;
wCrc = 0xFFFF; // ISO/IEC 13239 (formerly ISO/IEC 3309) do {
ch = *pInBuffer++;
ch = (ch^(unsigned char)(wCrc & 0x00FF));
ch = (ch^(ch<<4));
temp1=(wCrc >> 8);
temp3=((unsigned short)ch << 8);
temp4=((unsigned short)ch<<3);
temp2=((unsigned short)ch>>4);
wCrc=temp1 ^temp2^temp3^temp4;
} while (--length); wCrc = ~wCrc; // ISO/IEC 13239 (formerly ISO/IEC 3309)
*pTransmitFirst = (unsigned char)(wCrc & 0xFF);
*pTransmitSecond = (unsigned char)((wCrc >> 8) & 0xFF);
return;
}
//=======================================================================
//源文件结束
能帮我把上面的C语言程序转换成Delphi吗?
函数功能:
计算TYPEB的数据帧的CRC参数说明:
pInBuffer 指向待处理的数据缓冲区
length 数据长度 ,不计入crc本身的2字节
pTransmitFirst 指向要首先发送的CRC字节(低字节)
pTransmitSecond 指向第二个CRC字节(高字节)
返回值:
无备注:void computeCRC(unsigned char* pInBuffer, unsigned short length, unsigned char *pTransmitFirst, unsigned char *pTransmitSecond)
{
unsigned char ch;
unsigned short wCrc;
unsigned short temp1,temp2,temp3,temp4;
wCrc = 0xFFFF; // ISO/IEC 13239 (formerly ISO/IEC 3309) do {
ch = *pInBuffer++;
ch = (ch^(unsigned char)(wCrc & 0x00FF));
ch = (ch^(ch<<4));
temp1=(wCrc >> 8);
temp3=((unsigned short)ch << 8);
temp4=((unsigned short)ch<<3);
temp2=((unsigned short)ch>>4);
wCrc=temp1 ^temp2^temp3^temp4;
} while (--length); wCrc = ~wCrc; // ISO/IEC 13239 (formerly ISO/IEC 3309)
*pTransmitFirst = (unsigned char)(wCrc & 0xFF);
*pTransmitSecond = (unsigned char)((wCrc >> 8) & 0xFF);
return;
}
//=======================================================================
//源文件结束
能帮我把上面的C语言程序转换成Delphi吗?
解决方案 »
- ServerSocket 采用stThreadBlocking方式,如何给指定的客户端发送数据,如何断开指定的Client?
- 使用一个VC写的DLL中的函数,返回值表明函数执行成功,但程序提示错误!
- 谁有InstallShield打包软件操作说明书.急!!!!!
- 那个多线程的临界区不明白
- 单位要我写检讨,应不应该写!
- OLE中打开远程WORD文档——好象是OLE的BUG
- 怎样强行关闭socket?
- 要使用TRegistry读写注册表要在Uses中写如什么关键字?
- 没人敢作答的问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 高手请进,高分相送!!!!
- 引用 另一个单元文件中的一个控件时出错。。
- 请问有什么软件可以制作64*64的.cur文件
Delphi也有相应的代码实现吧,楼主搜搜看