⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 emeter.h

📁 MSP430 examples or customized
💻 H
字号:
#ifndef __emeter
#define __emeter

#include "parameter.h"


enum {idle, measure, calibration, done, request_cal};
extern unsigned int OP_Mode;  // operation mode

extern unsigned int CalCyclCnt;     // Register for Cycle calculation of Calibration

extern unsigned int sys_status;   // System status bits
#define NewValues   0x01
#define DoCalc      0x02
#define ReInit      0x04
#define RequestTemp 0x08
#define NewTemp     0x10

extern const int phasecorr_table[];


/// Saves firmware version during initialization.
extern unsigned int firmware_version;
/// global flag for Negative Energy
extern unsigned char negenfg;
/// Cumulated active energy.
extern float total_energy;
/// Last temperature measurement result.
extern unsigned int temperature;

extern unsigned int wfs1;
extern unsigned int wfs2;
extern unsigned int wfs3;

union tu_long_word{unsigned long l; unsigned int w[2];};
union tu_ulong_word{unsigned int w[2]; unsigned long l;};
union ts_long_word{signed long l; unsigned int w[2];};

extern union ts_long_word energy;

extern unsigned long P_reading;

struct ts_parameters{
          float VRatio;
          float IRatio;
          float EnergyRatio;
          int pSET_PHASECORR1;
          int pSET_PHASECORR2;
          unsigned int pSET_GAINCORR1;
          unsigned int pSET_GAINCORR2;
          int pSET_V1OFFSET;
          int pSET_I1OFFSET;
          int pSET_I2OFFSET;
          unsigned int pSET_ADAPTI1;
          unsigned int pSET_ADAPTI2;
          unsigned int pSET_STARTCURR_INT;
          unsigned int pSET_STARTCURR_FRAC;
          union tu_ulong_word pSET_INTRPTLEVL;
          unsigned long ulTempGain;
          unsigned long ulTempOffset;
          union ts_long_word pSET_POFFSET1;
          union ts_long_word pSET_POFFSET2;
          };

extern struct ts_parameters s_parameters;

#ifdef __IAR_SYSTEMS_ICC__
#if __VER__ < 200
#pragma memory=constseg(INFOA)
#else
#pragma constseg=INFOA
#endif
#endif

#ifdef __CROSSWORKS_MSP430
#pragma constseg("INFO")
#endif
extern const struct ts_parameters s_parameters_flash;
#ifdef __IAR_SYSTEMS_ICC__
#if __VER__ < 200
#pragma memory=default
#else
#pragma constseg=default
#endif
#endif

#ifdef __CROSSWORKS_MSP430
#pragma constseg(default)
#endif


// forward declarations
void init_system(void);
void init_analog_front_end(void);
void init_esp(unsigned char flashvars);
void init_esp_parameters(unsigned char flashvars);
void start_measurement(void);
void start_calibration(void);
void set_esp_active(void);
void set_esp_idle(void);
void set_parameter(unsigned int param, unsigned int data);
unsigned int read_parameter(unsigned int param);

#endif /* __emeter */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -