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

📄 utilities.h

📁 用ADE7169F16单片机实现了单向多费4率电能表
💻 H
字号:
/*************************************
;Ade7169 demo program     
;*************************************
;AUTHOR:        Su RuTong
;DATE:          03 09 2006
;*************************************/

#ifndef _UTILITIES_H_
#define _UTILITIES_H_


#ifdef __IAR_SYSTEMS_ICC__
#define _at_ (@)
#define bool _Bool
#define code __code
#define data __data
#define idata __idata
#define pdata __pdata
#define xdata __xdata
#endif



#define SYS_BUF_MAX     (40)                      // TBD 1024
#define UART_BUF_MAX     (40)                      // TBD 1024
extern unsigned char idata Sys_buf[SYS_BUF_MAX];
extern unsigned int  idata Sys_buf_Cnt;
// extern unsigned char __data  Sys_dat1[];
// extern unsigned char __data  Ssy_dat2[];
extern unsigned char idata * data Sys_buf_ptr;
extern unsigned char idata Sys_cnt;                        // count


// Uart event variable and flag define
#ifdef __IAR_SYSTEMS_ICC__
//extern __no_init __bit bool bIn_Send;
//extern __no_init __bit bool bIn_rec;
//extern __no_init __bit bool bBuf_InUse;
//extern __no_init __bit bool LowVDCINFlag;
typedef union _sysflag_u_
{
    unsigned char byte;
    struct
    {
        unsigned char bitIn_Send : 1;
        unsigned char bitIn_rec : 1;
        unsigned char bitBuf_InUse : 1;
        unsigned char bitLowVDCINFlag : 1;
        unsigned char  : 1;
        unsigned char  : 1;
        unsigned char  : 1;
        unsigned char  : 1;
    }bits;
}_sysflag_u;
extern _sysflag_u idata sys_flag;
#define bIn_Send        sys_flag.bits.bitIn_Send
#define bIn_rec         sys_flag.bits.bitIn_rec
#define bBuf_InUse      sys_flag.bits.bitBuf_InUse
#define LowVDCINFlag    sys_flag.bits.bitLowVDCINFlag
#else
extern bit bIn_Send;
extern bit bIn_rec;
extern bit bBuf_InUse;
extern bit LowVDCINFlag;
#endif

/*
typedef union _Sys_Flag_u
{
  unsigned char Sys_Flag;
  struct
  {
    unsigned char bUartInSend : 1;                      // bit0
    unsigned char bUartInRec  : 1;
    unsigned char bBufInUsed  : 1;
    unsigned char bLowVDCIN   : 1;
    unsigned char : 1;
    unsigned char : 1;
    unsigned char : 1;
    unsigned char : 1;                      // bit7
  } Sys_Flag_bit;
}Sys_Flag_u;
*/
typedef void (* PROC_FUNC)(void);                   // 函数指针类型定义

/*
typedef struct _sys_wat_data_
{
    unsigned long chksum;                            // 校验
    unsigned long WattHourLeft[8];                // 电能累计数:正向有功,反向有功;正向无功,反向无功;视在
    unsigned long req_pwr[8];
    unsigned char WattHourCounter[8];         // 电能的脉冲数:正向有功,反向有功;正向无功,反向无功;视在
}_sys_wat_data;
*/



extern unsigned char idata Uart_buf[UART_BUF_MAX];            // Uart buffer

extern unsigned int  idata Uart_buf_SndCnt;          // Send count
extern unsigned char idata * data Uart_Snd_Pointer;        // Send buffer pointer, pointer variable is placed in data memory,point to xdata.
extern unsigned char idata Uart_Snd_Tout_Cnt;        // Send timeout

extern unsigned int  idata Uart_buf_RecCnt;          // Recieve count
extern unsigned char idata * data Uart_Rec_Pointer;        // Recieve buffer pointer
extern unsigned char idata Uart_Rec_Tout_Cnt;        // Recieve timeout

extern unsigned char idata Uart_Snd_Delay_cnt;       // 1s

extern unsigned char idata lcd_buf[15];
extern unsigned char idata tmp_buf[4];
extern unsigned long idata sys_tmp;



#endif

⌨️ 快捷键说明

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