📄 union.h
字号:
/*******************************************************************************/
union MyFlg{
unsigned char BYTE;
struct {
unsigned char B7:1;
unsigned char B6:1;
unsigned char B5:1;
unsigned char B4:1;
unsigned char B3:1;
unsigned char B2:1;
unsigned char B1:1;
unsigned char B0:1;
}BIT;
};
union MyFlg_Word{
unsigned int WORD;
struct {
unsigned char B15:1;
unsigned char B14:1;
unsigned char B13:1;
unsigned char B12:1;
unsigned char B11:1;
unsigned char B10:1;
unsigned char B9:1;
unsigned char B8:1;
unsigned char B7:1;
unsigned char B6:1;
unsigned char B5:1;
unsigned char B4:1;
unsigned char B3:1;
unsigned char B2:1;
unsigned char B1:1;
unsigned char B0:1;
}BIT;
};
/*****************************************************************************/
union MyFlg Rx_Command_Flg;
union MyFlg Txrx_state;
union MyFlg TxData_state;
union MyFlg Cf_int_reg;
union MyFlg Second_Reg;
union MyFlg Flag_Comm;
union MyFlg ErrByte_Comm; //错误信息字,1相应错误发生0无相应错误,其中第3,4,7位恒为0
union MyFlg TggerFlg_Disp;
union MyFlg OtherFlg_Disp;
union MyFlg AccdntRcd_Comm;
union MyFlg Cf_Flg;
union MyFlg Power_Flg;
union MyFlg TimDef_Reg;
union MyFlg Sys_Reg;
union MyFlg_Word DispFlag_Disp;
/****************************************************************************/
#define RxTxState_Comm Flag_Comm.BIT.B0 // SIO 收发状态标志;
#define NeedSign_Comm Flag_Comm.BIT.B1 // 续发标志,1为有效 0无效
#define Txd_Bgin Flag_Comm.BIT.B2 //rs485开始发送
#define Rx_Int Rx_Command_Flg.BIT.B0 /* */
#define Rx_Star Rx_Command_Flg.BIT.B1 /* */
#define Rx_End Rx_Command_Flg.BIT.B2 /*红外位接收结束*/
#define Rx_End_8bit Rx_Command_Flg.BIT.B3 /*红外1字节位长度*/
#define Rx_End_10bit Rx_Command_Flg.BIT.B4 /*红外1字节帧长度*/
#define Rx_bit_verf Rx_Command_Flg.BIT.B5
#define Rx_Stop Rx_Command_Flg.BIT.B6 /*红外1字节帧长度*/
#define AT_RxState Txrx_state.BIT.B2 /*红外字节接收完成标志*/
#define AT_TxState Txrx_state.BIT.B2 /*红外字节发送开始标志*/
#define AT_RxdState Txrx_state.BIT.B3 /*rs485字节接收完成标志*/
#define AT_TxdState Txrx_state.BIT.B3 /*rs485字节发送开始标志*/
#define Tx_Bgin TxData_state.BIT.B0 /*红外1字节发送开始标志*/
#define Tx_Next TxData_state.BIT.B1 /*红外1字节数据发送标志*/
#define Tx_Word_flg TxData_state.BIT.B2
#define Tx_Odd_flg TxData_state.BIT.B3 /*红外1字节偶校验发送标志*/
#define Tx_Odd TxData_state.BIT.B4 /*红外1字节偶校验*/
#define Tx_End TxData_state.BIT.B5 /*红外1字节发送结束标志*/
#define Cf_Int_Flg Cf_int_reg.BIT.B0 /*ADE7755脉冲中断标志*/
#define Cf_flg Cf_int_reg.BIT.B1 /*ADE7755脉冲中断生成标志*/
#define led_flg Cf_int_reg.BIT.B2 /*脉冲指示生成标志*/
#define Cf_Set Cf_int_reg.BIT.B3 /*脉冲生成标志*/
#define Time1s_Flg TimDef_Reg.BIT.B0
#define Time1s_Flg1 TimDef_Reg.BIT.B1
#define Time1s_Flg2 TimDef_Reg.BIT.B2
#define Time1s_Flg3 TimDef_Reg.BIT.B3
#define Time500ms_Flg TimDef_Reg.BIT.B4
#define Time1s_Flg4 TimDef_Reg.BIT.B5
#define Time1s_Flg5 TimDef_Reg.BIT.B6
#define Time1min_Flg TimDef_Reg.BIT.B7
#define Trig_Byte TggerFlg_Disp.BYTE //触发字节信号
#define AllFlg_Trig TggerFlg_Disp.BIT.B0 //全显 触发信号 初始值为1
#define Hello_Trig TggerFlg_Disp.BIT.B1 //Hello 触发信号
#define End_Trig TggerFlg_Disp.BIT.B2 //End 触发信号
#define Error_Trig TggerFlg_Disp.BIT.B3 //Error 触发信号
#define ClbrtTm_Trig TggerFlg_Disp.BIT.B4 //广播校时 触发信号
#define ComDisp_Trig TggerFlg_Disp.BIT.B5 //通讯步显 触发信号
#define KeyDisp_Trig TggerFlg_Disp.BIT.B6 //按键 触发信号
#define IrComm_Disp TggerFlg_Disp.BIT.B7 //背光点亮 触发信号
#define Disp_WORD DispFlag_Disp.WORD //显示字信号
#define AllFlg_Disp DispFlag_Disp.BIT.B0 //全显 显示信号
#define Hello_Disp DispFlag_Disp.BIT.B1 //Hello 显示信号
#define End_Disp DispFlag_Disp.BIT.B2 //End 显示信号
#define Error_Disp DispFlag_Disp.BIT.B3 //Error 显示信号
#define ClbrtTm_Disp DispFlag_Disp.BIT.B4 //广播校时 显示信号
#define ComDisp_Disp DispFlag_Disp.BIT.B5 //通讯步显 显示信号
#define KeyDisp_Disp DispFlag_Disp.BIT.B6 //按键 显示信号
#define E2Err_Disp DispFlag_Disp.BIT.B7 //E2出错 显示信号
#define R8025Err_Disp DispFlag_Disp.BIT.B8 //R8025出错 显示信号
#define Shut_Disp DispFlag_Disp.BIT.B9 //关显示 信号
#define Other_Byte OtherFlg_Disp.BYTE //其他字节信号
#define Hello_over OtherFlg_Disp.BIT.B0 //Hello 显示结束
#define TmSctChng_Disp OtherFlg_Disp.BIT.B1 //时段数改变信号
#define Stop_Disp OtherFlg_Disp.BIT.B2 //停显、轮显切换信号 1为停显
#define Open_Disp OtherFlg_Disp.BIT.B3 //开显示、关显示切换信号 1为开显示
#define Batt_Disp OtherFlg_Disp.BIT.B4 //电池电压低显示信号
#define Progrm_Disp OtherFlg_Disp.BIT.B5 //编程开关打开信号 1为开关打开
#define Revs_Disp OtherFlg_Disp.BIT.B6 //电表电压反向显示信号
#define DispTbl_Disp OtherFlg_Disp.BIT.B7 //显示表改变信号 初始值为1
#define AccdntRcd_Byte AccdntRcd_Comm.BYTE //事件记录字节信号
#define Prgrm_Accdnt AccdntRcd_Comm.BIT.B0 //编程事件
#define _Accdnt AccdntRcd_Comm.BIT.B1 //
#define Reset_Accdnt AccdntRcd_Comm.BIT.B2 //系统数据复位事件
//#define ClrPw_Accdnt AccdntRcd_Comm.BIT.B3 //电量总清零事件
#define HstryClr_Accdnt AccdntRcd_Comm.BIT.B4 //历史电量清零事件
#define NewComDisp_Disp AccdntRcd_Comm.BIT.B5 //新通信触发显示信号
#define SetTm_Accdnt AccdntRcd_Comm.BIT.B6 //时间设置事件
#define SetDate_Accdnt AccdntRcd_Comm.BIT.B7 //日期设置事件
#define Led_Flg Cf_Flg.BIT.B0 //脉冲指示标志
#define Revp_Flg Cf_Flg.BIT.B1 //反向脉冲指示
#define Dl_ZcFlg Cf_Flg.BIT.B2 //电量转存标志
#define PowerDown_Flg Power_Flg.BIT.B0
#define PowerUp_Flg Power_Flg.BIT.B1 //系统上电生成标志
#define Sys_Powerdn Power_Flg.BIT.B2
#define PriPwUp_Flg Sys_Reg.BIT.B0 //电表系统初次上电
#define SecPwUp_Flg Sys_Reg.BIT.B1 //电表系统重新上电(无电池状态)
#define NmlPwUp_Flg Sys_Reg.BIT.B2 //电表系统正常上电
#define Dl_VerErr Sys_Reg.BIT.B3 //电量比较出错
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -