| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- #ifndef __HLW8110_H
- #define __HLW8110_H
- #include "stdio.h"
- #include "Main.h"
- //8112/8110 reg define
- #define REG_SYSCON_ADDR 0x00
- #define REG_EMUCON_ADDR 0x01
- #define REG_HFCONST_ADDR 0x02
- #define REG_EMUCON2_ADDR 0x13
- #define REG_ANGLE_ADDR 0x22 //相角寄存器
- #define REG_UFREQ_ADDR 0x23 //市电线性频率地址
- #define REG_RMSIA_ADDR 0x24
- #define REG_RMSIB_ADDR 0x25
- #define REG_RMSU_ADDR 0x26
- #define REG_PF_ADDR 0x27
- #define REG_ENERGY_PA_ADDR 0x28
- #define REG_ENERGY_PB_ADDR 0x29
- #define REG_POWER_PA_ADDR 0x2C
- #define REG_POWER_PB_ADDR 0x2D
- #define REG_POWER_PAS_ADDR 0x2E
- #define REG_OVLVL_ADDR 0x19
- #define REG_INT_ADDR 0x1D
- #define REG_IE_ADDR 0x40
- #define REG_IF_ADDR 0x41
- #define REG_RIF_ADDR 0x42
- #define REG_RDATA_ADDR 0x44
- #define REG_CHECKSUM_ADDR 0x6f
- #define REG_RMS_IAC_ADDR 0x70
- #define REG_RMS_IBC_ADDR 0x71
- #define REG_RMS_UC_ADDR 0x72
- #define REG_POWER_PAC_ADDR 0x73
- #define REG_POWER_PBC_ADDR 0x74
- #define REG_POWER_SC_ADDR 0x75
- #define REG_ENERGY_AC_ADDR 0x76
- #define REG_ENERGY_BC_ADDR 0x77
- //宏定义
- #define FALSE 0
- #define TRUE 1
- #define D_TIME1_50MS 50
- void Init_HLW8110(void);
- void Calculate_HLW8110_MeterData(void);
- void Clear_RxBuf(void);
- unsigned char HLW8110_checkSum_Write(unsigned char u8_Reg_length);
- unsigned char HLW8110_checkSum_Read(unsigned char u8_Reg_length);
- void Uart_HLW8110_WriteREG_EN(void);
- void Uart_HLW8110_WriteREG_DIS(void);
- void Uart_HLW8110_Set_Channel_A(void);
- void Uart_Read_HLW8110_Reg(unsigned char ADDR_Reg,unsigned char u8_reg_length);
- void Uart_Write_HLW8110_Reg(unsigned char ADDR_Reg,unsigned char u8_reg_length,unsigned long u32_data);
- void Uart_HLW8110_Reset(void);
- unsigned char Judge_CheckSum_HLW8110_Calfactor(void);
- void Init_HLW8110(void);
- void Check_WriteReg_Success(void);
- void Read_HLW8110_IA(void);
- void Read_HLW8110_U(void);
- void Read_HLW8110_PA(void);
- void Read_HLW8110_EA(void);
- void Read_HLW8110_LineFreq(void);
- void Read_HLW8110_PF(void);
- void Read_HLW8110_Angle(void);
- void Calculate_HLW8110_MeterData(void);
- void Init_HLW8112(void);
- void HLW8112_Measure(void);
- void read_Hlw8110(uint8_t cs_x,uint8_t read_kWh_flag);
- void read_Hlw8110_kWh(unsigned char cs_x);
- #endif
|