typedef union
{
	unsigned int D32;
	volatile unsigned char state_val[4];
	struct
	{
		volatile unsigned int take_charge      : 2; /* [0] */
		volatile unsigned int feedback         : 2; /* [1] */
		volatile unsigned int start_delay      : 2; /* [2] */
		volatile unsigned int start            : 2; /* [3] */
		volatile unsigned int mute             : 2; /* [4] */
		volatile unsigned int fault            : 2; /* [5] */
		volatile unsigned int alarm            : 2; /* [6] */
		volatile unsigned int rsv1           	 : 2; /* [7] */
		volatile unsigned int linkage        	 : 2; /* [8] */
		volatile unsigned int rx               : 2; /* [9] */
		volatile unsigned int tx               : 2; /* [10] */
		volatile unsigned int self_check       : 2; /* [11] */
		volatile unsigned int alarm_fault      : 2; /* [12] */
		volatile unsigned int alarm_start      : 2; /* [13] */
		volatile unsigned int shield           : 2; /* [14] */
		volatile unsigned int rsv2           	 : 2; /* [15] */
	}state;
}Sys_State_Struct;

extern void uart_task(void);
extern void uart_interval_send(void);
