crc8.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #ifndef crc8_H_
  2. #define crc8_H_
  3. #include "stdint.h"
  4. #include "stdbool.h"
  5. /**
  6. * @funtion:crc8多项式冗余校验
  7. * @param 1:pData,计算数据源地址
  8. * @param 2:dataLen,计算数据源长度
  9. * @param 3:initialValue,crc结果初值
  10. * @param 4:polynomial,多项式
  11. *
  12. * @return :校验结果
  13. */
  14. unsigned char crc8( unsigned char *pData,
  15. unsigned int dataLen,
  16. unsigned char initialValue,
  17. unsigned char polynomial );
  18. /**
  19. * @funtion :针对温湿度传感器sht3X系列的crc8校验
  20. * @param 1:pData,计算数据源地址
  21. * @param 2:dataLen,计算数据源长度
  22. * @param 3:targetCRC,对比结果CRC
  23. *
  24. * @return :对比校验结果,=1校验成功,=0校验失败
  25. */
  26. int crc8_sht3x( unsigned char *pData,
  27. unsigned int dataLen,
  28. unsigned char targetCRC);
  29. int crc8_sht2x( unsigned char *pData,
  30. unsigned int dataLen,
  31. unsigned char targetCRC);
  32. unsigned char crc8_ger( unsigned char *pData,
  33. unsigned int dataLen);
  34. int crc8_gernCheckT( unsigned char *pData,
  35. unsigned int dataLen,
  36. unsigned char targetCRC);
  37. bool checkFramLegal(uint8_t *srcBuffer, uint8_t srcLen);
  38. void completFramParams(uint8_t *srcBuffer, uint8_t srcLen);
  39. #endif /* SCEADC_H_ */