📄 zuixindaima.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "zuixindaima.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
TForm1::CrcCheck(char * fanzc, int Count)
{
{
unsigned char scrch,scrcl,cl,si;
unsigned char crcdl,crcal;
unsigned short us;
unsigned char crc_div[64]={0,0,192,193,193,129,1,64,195,1,3,192,2,128,194,65,
198,1,6,192,7,128,199,65,5,0,197,193,196,129,4,64,
0,0,204,1,216,1,20,0,240,1,60,0,40,0,228,1,160,1,
108,0,120,0,180,1,80,0,156,1,136,1,68,0};
scrcl=0;
scrch=0;
if (Count==0) return 0;
for(int di=0;di<Count;di++) // 算命令串校验码.
{
crcal= fanzc[di] ^ scrcl;
crcdl= crcal;
crcal= crcal & 0x0f;
crcal= (crcal << 1) + ((crcal & 0x7f) >> 7);
si= crcal;
crcal= crcdl;
cl= crc_div[si];
crcdl= crc_div[si + 1];
crcal= (crcal >> 3) + (((crcal & 1) + (crcal & 2) + (crcal & 4)) << 5);
crcal= (crcal & 30) + 32;
si= crcal;
crcal= crc_div[si] ^ cl;
cl= crcal;
crcal= crc_div[si + 1];
crcdl= crcal ^ crcdl;
crcal= cl ^ scrch;
scrch= crcdl;
scrcl= crcal;
}
us = (scrch << 8) + scrcl;
return us;
}
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{ unsigned char a[8]={ 0x00,0x00,0x00,0x00,0x06,0x0d,0xd2,0xe3};
Edit1->Text=CrcCheck(a,8);
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -