导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→[求助]KEIL C6.12版本CRC程序出错,请执教[weiym]

 *第35201篇: [求助]KEIL C6.12版本CRC程序出错,请执教

  
楼 主:weiym 2005年10月20日22:16
 [求助]KEIL C6.12版本CRC程序出错,请执教
本人在做项目时候,想用C51来实现CRC,下面是程序。
程序对数据的9个数据进行crc校验,结果应该是0XF7F5,
这个程序用TURBO C测试,结果正确。可是用KEIL C,结果是0XE2D6。
为什么?请指教。

unsigned int crc_16(unsigned char *ptr, unsigned char len)
{
 unsigned char *buf,i,j,err;
 unsigned int *CRC;

 buf= &ptr[len];
 CRC=(unsigned int *)buf;
 buf[0]=0xff;
 buf[1]=0xff;
 for(i=0;i  <len;i++)
 {
  buf[0]=buf[0]^ptr[i];
  for(j=0;j  <8;j++)
  {
   err=buf[0]&(0x01);
   *CRC=(*CRC)/2;
   if(err) *CRC=*CRC^(0xa001);
  }
 }
 return(*CRC);
}

void main()
{
  unsigned char buf[12]={0x1,0x3,0x6,0x15,0xca,0x74,0xb3,0x70,0xfe};
  unsigned int i, crc;
  crc=crc_16(buf,9);
}


>>>>>>对该主题发表你的看法

本主题贴数1,分页: [第1页]


[上一篇主题]:[原创]INT0 作模拟串口的收。数据经常收错,大家来看看什么原因。

[下一篇主题]:S3C2410 TFT-LCD控制参数设置问题