CRC.c 589 B

123456789101112131415161718192021222324252627
  1. #include <REGtenxTM52F1386.H>
  2. #include <intrins.h>
  3. /*******************************************************************
  4. ** 函数名称: crc_calcu
  5. ** 函数描述: 数据CRC校验
  6. ** 输入参数: 无
  7. ** 输出参数: ret CRC的校验值
  8. *******************************************************************/
  9. unsigned int crc_calcu(unsigned char *p,unsigned int len)
  10. {
  11. unsigned int ret=0;
  12. unsigned int i=0;
  13. CRCIN = 0;
  14. CRCDH = 0xff;
  15. CRCDL = 0xff;
  16. for(i = 0;i<len;i++)
  17. {
  18. CRCIN = p[i]; //将要检验的数据送入到CRCIN寄存器里
  19. }
  20. ret = CRCDH;
  21. ret = ret<<8;
  22. ret = ret|CRCDL;
  23. return ret; //返回校验值
  24. }