Files
2026-04-27 16:55:02 +08:00

51 lines
1.9 KiB
C

#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