#ifndef		__SensorCount_H_
#define		__SensorCount_H_
/*H******************************************************************************
* NAME:         SensorCount.h
*********************************************************************************/

typedef union
{
  u8 Buff[50]; //ModBus寄存器组
	__packed struct 
	{
		u8  SensorNum : 8;
    u8  Cmd       : 8;
	  u8  Len       : 8;
		u16 Dat       : 16;
		u16 Crc       : 16;
   }Register;
}Sensor_RX_Buff_Type;	
	
//******************************************************************************
//*-------------- 函数声名 -----------------------------------------------------
//******************************************************************************
#define SensorCount2_TX_DMAAddrSet(x) (DMA1_Stream7->M0AR = x)      //设置流量计发送缓存地址
#define SensorCount2_TX_DMALenSet(x)  (DMA1_Stream7->NDTR = x)     //设置流量计DMA发送长度
#define SensorCount2_TX_DMAStart()    DMA_Cmd(DMA1_Stream7,ENABLE)  //开启流量计DMA发送
#define SensorCount2_TX_DMAStop()     DMA_Cmd(DMA1_Stream7,DISABLE) //关闭流量计DMA发送

#define SensorCount2_RX_DMAAddrSet(x) (DMA1_Stream0->M0AR = x)      //设置流量计接收缓存地址
#define SensorCount2_RX_DMALenSet(x)  (DMA1_Stream0->NDTR = x)     //设置流量计DMA接收
#define SensorCount2_RX_DMAStart()    DMA_Cmd(DMA1_Stream0,ENABLE)  //开启流量计DMA接收
#define SensorCount2_RX_DMAStop()     DMA_Cmd(DMA1_Stream0,DISABLE) //关闭流量计DMA接收

#define Sensor2_RS485_TxEN       GPIO_ResetBits(GPIOD,GPIO_Pin_3);
#define Sensor2_RS485_RxEN       GPIO_SetBits(GPIOD,GPIO_Pin_3);


#define Even 0
#define None 1


extern void SensorCount2_DMATX_IRQHandler(void);
extern void SensorCount2_DMARX_IRQHandler(void);

extern u16 CRC_Check(u8 *puchMsg, u16 usDataLen) ;
extern u16 BigToLittle( u16 BigData);
extern void SensorCount_Init(void);	
extern void SensorCount_USART_Configuration(u32 Baud,u8 Check);
extern u8 Sensor_Ask_Data(u8 ID);
extern void Sensor_Tast(void);
#endif	//#ifndef		
