#define CRC8_POLY 0x07
unsigned char crc8(unsigned int *Pmsg,unsigned int MsgSize)
{
unsigned int i,j,carry,msg,crc,poly;
poly = CRC8_POLY;
crc = *Pmsg++;
for(i=0; i<MsgSize; i++)
{
msg = *Pmsg++;
for(j=0;j<8;j++)
{
carry = crc&0x80;
crc = crc<<1 | msg>>7;
if(carry) crc ^= poly;
msg <<= 1;
msg = msg & 0x00FF;