#ifndef __RN8302_H_ #define __RN8302_H_ #include "config.h" #define STDUn 220 #define STDIb 5 #define CalVoltate 44000000 //220V电压下校表 #define CalCurrent 50000000 //5A 电流下校表 #define STDP 262260437 //标准的有功功率 #define STDP_05L 131130218 //标准的有功功率 #define RN8302_fosc 8000000 //晶振频率 标准 8192000 #define RN8302_ENABLE GPIO_ResetBits(GPIOA,GPIO_Pin_15) #define RN8302_DISABLE GPIO_SetBits(GPIOA,GPIO_Pin_15) #define PinWrite_ADSCLK_1 GPIO_SetBits(GPIOB, GPIO_Pin_3) #define PinWrite_ADSCLK_0 GPIO_ResetBits(GPIOB, GPIO_Pin_3) #define PinWrite_ADSDI_1 GPIO_SetBits(GPIOB, GPIO_Pin_4) #define PinWrite_ADSDI_0 GPIO_ResetBits(GPIOB, GPIO_Pin_4) #define PinWrite_ADSDO_1 GPIO_SetBits(GPIOB, GPIO_Pin_5) #define PinWrite_ADSDO_0 GPIO_ResetBits(GPIOB, GPIO_Pin_5) #define PinRead_ADSDI GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_4) #define RO 0x00 #define RW 0x01 #define bank0 0x00 #define bank1 0x01 #define bank2 0x02 #define bank3 0x03 #define bank4 0x04 #define WRENABLE 0xE5 #define WRDISABLE 0xDC #define SAMPTEMPCLR 0x10 //50Hz采样,缓冲区清零 #define CLREMMIFH 0xFF //清采样缓冲中断标志 #define CLREMMIFL 0xFF #define SAMPSTART 0x20 #define WRENABLE 0xE5 #define SOFTRST 0xFA #define EMMOD 0xA2 //EMM模式 #define SLPMOD 0x18 #define NVM1MOD 0xE1 #define NVM2MOD 0x5C #define CHANNELEN 0xFF #define ADCGAINVAL 0x00 //ADC 通道增益设定。电压通道1倍增益。 //#define HF6400 0x031F //6400常数 #define EGYRDMODVAL 0x40 //视在电能读取后清零。 #define LNWIREMODE 0x00 //三相四线接线模式。 #define LLWIREMODE 0x33 //三相三线接线模式。 #define GAIN_1 0x00 #define GAIN_2 0x01 #define GAIN_4 0x10 #define GAIN_8 0x11 //#define HFCONST1 0x39 //#define HFCONST0 0x07 //测试常数 //#define HFCONST1 0xCE typedef struct { unsigned char bank; unsigned char addr; unsigned char bytenum; unsigned char rw; unsigned int data; }RegStructure;
|