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

📄 union.h

📁 一个电表的程序
💻 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 + -