SWM320_crc.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536
  1. #ifndef __SWM320_CRC_H__
  2. #define __SWM320_CRC_H__
  3. #define CRC32_IN32 0 //CRC32算法,输入数据32位
  4. #define CRC32_IN16 2 //CRC32算法,输入数据16位
  5. #define CRC32_IN8 4 //CRC32算法,输入数据 8位
  6. #define CRC16_IN16 3 //CRC16算法,输入数据16位
  7. #define CRC16_IN8 5 //CRC16算法,输入数据 8位
  8. void CRC_Init(CRC_TypeDef *CRCx, uint32_t mode, uint32_t out_not, uint32_t out_rev, uint32_t ini_val);
  9. /******************************************************************************************************************************************
  10. * 函数名称: CRC_Write()
  11. * 功能说明: CRC写入数据
  12. * 输 入: uint32_t data 要写入的数据
  13. * 输 出: 无
  14. * 注意事项: 无
  15. ******************************************************************************************************************************************/
  16. static __INLINE void CRC_Write(uint32_t data)
  17. {
  18. CRC->DATAIN = data;
  19. }
  20. /******************************************************************************************************************************************
  21. * 函数名称: CRC_Result()
  22. * 功能说明: 获取CRC计算结果
  23. * 输 入: 无
  24. * 输 出: uint32_t CRC 计算结果
  25. * 注意事项: 无
  26. ******************************************************************************************************************************************/
  27. static __INLINE uint32_t CRC_Result(void)
  28. {
  29. return CRC->RESULT;
  30. }
  31. #endif //__SWM320_CRC_H__