📄 def_att7022.h
字号:
#ifndef __ATT7022_H__
#define __ATT7022_H__
/////////////////////////////////////////////////////////////////
#define NORMAL_MODE 0x01
#define BASE_FREQ_MODE 0x02
#define HARMONIC_MODE 0x03
#define U1U2READYTIME 13 // 13 seconds, U1U2 to get ready
#define MODE_SWITCH_Dly 1500 // 800 ms delay after mode switch
/////////////////////////////////////////////////////////////////
//// define consant ////////////////////////////////////////////
#define Data_Iregion1 0x000000
#define Data_Iregion2 0x000000
#define Data_Iregion3 0x000000
#define Data_Iregion4 0x000000
#define Data_Iregchg 0x000000
// Io=0.4%*Vi=0.004*0.1=0.0004
// Istartup=G*Io=0.648*0.0004=0.0002592
// Istartup=0.0002592*2^23=2174=87EH
//#define Data_Istartup 0x00087e
#define Data_Istartup 0x000000
//#define Data_HFConst 0x22 //5760000000*0.648*0.648*0.5*0.1/(220*5*3200)=34=0x22
#define Data_HFConst 0x10 //default
#define Data_FailVoltage 0x068000 //
#define Data_EnergyAddMode 0x000000
//////////////////////////////////////////////////
/////// define the data registers in ATT7022(A/B)
//////////////////////////////////////////////////
#define rPa 0x01
#define rPb 0x02
#define rPc 0x03
#define rPt 0x04
#define rQa 0x05
#define rQb 0x06
#define rQc 0x07
#define rQt 0x08
#define rSa 0x09
#define rSb 0x0A
#define rSc 0x0B
#define rSt 0x0C
#define rUa 0x0D
#define rUb 0x0E
#define rUc 0x0F
#define rIa 0x10
#define rIb 0x11
#define rIc 0x12
#define rIt 0x13
#define rPfa 0x14
#define rPfb 0x15
#define rPfc 0x16
#define rPft 0x17
#define rPga 0x18
#define rPgb 0x19
#define rPgc 0x1a
#define rPgt 0x1b
#define rFreq 0x1c
#define rEpa 0x1e
#define rEpb 0x1f
#define rEpc 0x20
#define rEpt 0x21
#define rEqa 0x22
#define rEqb 0x23
#define rEqc 0x24
#define rEqt 0x25
#define rRSPIData 0x28 //ATT7022A/B
#define rRmsADC7 0x29 //ATT7022B
#define rTempD 0x2a //ATT7022B
#define rURmst 0x2b //ATT7022A/B
#define rS_Flag 0x2c
#define rWSPIData1 0x2d
#define rWSPIData2 0x2e
#define rE_Flag 0x30
#define rEpa2 0x31
#define rEpb2 0x32
#define rEpc2 0x33
#define rEpt2 0x34
#define rEqa2 0x35
#define rEqb2 0x36
#define rEqc2 0x37
#define rEqt2 0x38
#define rLEFlag 0x3c //ATT7022B
#define rPFlag 0x3d //ATT7022A
#define rChkSum1 0x3e //ATT7022A
#define rInstADC7 0x3f //ATT7022B
#define rPosEpa 0x40
#define rPosEpb 0x41
#define rPosEpc 0x42
#define rPosEpt 0x43
#define rNegEpa 0x44
#define rNegEpb 0x45
#define rNegEpc 0x46
#define rNegEpt 0x47
#define rPosEqa 0x48
#define rPosEqb 0x49
#define rPosEqc 0x4a
#define rPosEqt 0x4b
#define rNegEqa 0x4c
#define rNegEqb 0x4d
#define rNegEqc 0x4e
#define rNegEqt 0x4f
#define rLineEpa 0x50 //ATT7022B
#define rLineEpb 0x51 //ATT7022B
#define rLineEpc 0x52 //ATT7022B
#define rLineEpt 0x53 //ATT7022B
#define rLineEqa 0x54 //ATT7022B
#define rLineEqb 0x55 //ATT7022B
#define rLineEqc 0x56 //ATT7022B
#define rLineEqt 0x57 //ATT7022B
#define rYUaUb 0x5c //ATT7022A/B
#define rYUaUc 0x5d //ATT7022A/B
#define rYUbUc 0x5e //ATT7022A/B
#define rChkSum2 0x5f //ATT7022A/B
#define rPosEpa2 0x60
#define rPosEpb2 0x61
#define rPosEpc2 0x62
#define rPosEpt2 0x63
#define rNegEpa2 0x64
#define rNegEpb2 0x65
#define rNegEpc2 0x66
#define rNegEpt2 0x67
#define rPosEqa2 0x68
#define rPosEqb2 0x69
#define rPosEqc2 0x6a
#define rPosEqt2 0x6b
#define rNegEqa2 0x6c
#define rNegEqb2 0x6d
#define rNegEqc2 0x6e
#define rNegEqt2 0x6f
#define rLineEpa2 0x70 //ATT7022B
#define rLineEpb2 0x71 //ATT7022B
#define rLineEpc2 0x72 //ATT7022B
#define rLineEpt2 0x73 //ATT7022B
#define rLineEqa2 0x74 //ATT7022B
#define rLineEqb2 0x75 //ATT7022B
#define rLineEqc2 0x76 //ATT7022B
#define rLineEqt2 0x77 //ATT7022B
#ifndef U1_ATT7022B
#define rEndAddr 0x70 //old version ( ATT7022/A )
#define TempAddr 0x70 //old version ( ATT7022/A )
#else
#define rEndAddr 0x78 //end of data registers
#define TempAddr 0x78 //temperature Data buffer address
#endif
#define Att7022DataBuffSize 0x78 //Data buffer size
#define ELECTRIC_PARAMETER_END_ADDRESS 0x500 //[0-0x500] including harmonic and base_frequence parameters
//////////////////////////////////////////////////////////////
//// define the configuration registers in ATT7022(A/B)
//////////////////////////////////////////////////////////////
#define Iregion1 0x02
#define Iregion2 0x03
#define Iregion3 0x04
#define Iregion4 0x05
#define PgainA0 0x06
#define PgainB0 0x07
#define PgainC0 0x08
#define PgainA1 0x09
#define PgainB1 0x0a
#define PgainC1 0x0b
#define PhsregA0 0x0c
#define PhsregA1 0x0d
#define PhsregA2 0x0e
#define PhsregA3 0x0f
#define PhsregA4 0x10
#define PhsregB0 0x11
#define PhsregB1 0x12
#define PhsregB2 0x13
#define PhsregB3 0x14
#define PhsregB4 0x15
#define PhsregC0 0x16
#define PhsregC1 0x17
#define PhsregC2 0x18
#define PhsregC3 0x19
#define PhsregC4 0x1a
#define UgainA 0x1b
#define UgainB 0x1c
#define UgainC 0x1d
#define Iregchg 0x1e
#define Istartup 0x1f
#define HFConst 0x20
#define IgainA 0x26
#define IgainB 0x27
#define IgainC 0x28
#define FailVoltage 0x29
#define EnergyAddMode 0x2a
//////// only for ATT7022A/B /////////////////
#define GainAdc7 0x2b //ATT7022B
#define GCtrlT7Adc 0x2c //ATT7022B //OK
#define EnLineFreq 0x2d //ATT7022B
#define EnUAngle 0x2e //ATT7022A/B
#define SelectPQSU 0x2f //ATT7022B
#define EnDtIorder 0x30 //ATT7022A/B
#define LineFreqPg 0x31 //ATT7022B
#define EnHarmonic 0x3c //ATT7022B
#define HFDouble 0x3e //ATT7022A/B
#define UADCPga 0x3f //ATT7022A/B
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -