CRC程序代码 需要写一个 php 版本, 本人php不是很熟悉, 麻烦个位了
void ctrl_crc16(uchar *puchMsg)
{
uchar i,j,lsb;
uint h = 0xffff;
for(i=0;i<8;i++) //i代表需要CRC 数据的个数 {
h ^= *puchMsg;
for(j=0;j<8;j++)
{
lsb = h & 0x0001; //取CRC的移出位
h >>= 1;
if (lsb == 1)
{
h ^= 0x8408;
}
}
puchMsg++;
}
h ^= 0xffff;
crc16_h = (uchar)(h>>8);
crc16_l = (uchar)(h);
}
void ctrl_crc16(uchar *puchMsg)
{
uchar i,j,lsb;
uint h = 0xffff;
for(i=0;i<8;i++) //i代表需要CRC 数据的个数 {
h ^= *puchMsg;
for(j=0;j<8;j++)
{
lsb = h & 0x0001; //取CRC的移出位
h >>= 1;
if (lsb == 1)
{
h ^= 0x8408;
}
}
puchMsg++;
}
h ^= 0xffff;
crc16_h = (uchar)(h>>8);
crc16_l = (uchar)(h);
}
$crc = 0xFFFF;
for ($x = 0; $x < strlen ($string); $x++) {
$crc = $crc ^ ord($string[$x]);
for ($y = 0; $y < 8; $y++) {
if (($crc & 0x0001) == 0x0001) {
$crc = (($crc >> 1) ^ 0xA001);
} else { $crc = $crc >> 1; }
}
}
return $crc;
}