IM1253E.h 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /*********************************************************************************************************
  2. * 模块名称:IM1253E.h
  3. * 摘 要:电能测量芯片驱动应用
  4. * 当前版本:1.0.0
  5. * 作 者:anycrying
  6. * 完成日期:2024年04月09日
  7. * 内 容:
  8. * 注 意:
  9. **********************************************************************************************************
  10. * 取代版本:
  11. * 作 者:
  12. * 完成日期:
  13. * 修改内容:
  14. * 修改文件:
  15. *********************************************************************************************************/
  16. #ifndef __IM1253E_H
  17. #define __IM1253E_H
  18. #include "board_cfg.h"
  19. #include "stdint.h"
  20. //IM1253E寄存器定义
  21. #define V_REG_ADDR 0x0048 //电压
  22. #define I_REG_ADDR 0x0049 //电流
  23. #define W_REG_ADDR 0x004A //有功功率
  24. #define KWh_REG_ADDR 0x004B //有功总电量
  25. #define Q_REG_ADDR 0x004C //功率因数
  26. #define CO2_REG_ADDR 0x004D //二氧化碳排量
  27. #define T_REG_ADDR 0x004E //温度
  28. #define Hz_REG_ADDR 0x004F //频率
  29. #define Ad_Bd_REG_ADDR 0x0004 //地址及波特率
  30. #define V_Unit 0.0001 //电压单位0.0001V
  31. #define I_Unit 0.0001 //电流单位0.0001A
  32. #define W_Unit 0.0001 //有功功率单位0.0001W
  33. #define KWh_Unit 0.0001 //有功总电量0.0001KWh
  34. #define Q_Unit 0.001 //功率因数单位0.001
  35. #define CO2_Unit 0.0001 //二氧化碳排量单位0.0001Kg
  36. #define T_Unit 0.01 //电压单位0.01℃
  37. #define Hz_Unit 0.01 //电压单位0.01Hz
  38. #define Device_addr_IM1253E 0x01 //IM1253E的地址
  39. #define cmd_read_IM1253E 0x03 //读一个或多个寄存器的值
  40. #define cmd_write_IM1253E 0x10 //写一个或多个寄存器的值
  41. /*********************************************************************************************************
  42. * 枚举结构体
  43. *********************************************************************************************************/
  44. /*********************************************************************************************************
  45. * API函数声明
  46. *********************************************************************************************************/
  47. uint16_t CRC_calculate_function(uint8_t len);
  48. void Read_IM1253E_REG(uint8_t dev_addr,uint16_t reg_addr,uint8_t len);
  49. void Write_IM1253E_REG(uint8_t dev_addr,uint16_t reg_addr,uint8_t *pt,uint8_t len);
  50. #if SUPPORT_STM32_ADC
  51. uint32_t read_voltage(uint8_t channel);
  52. #endif
  53. #endif