#ifndef __SDI12_H #define __SDI12_H #include "sys.h" #include "general_type.h" #include "stm32l1xx.h" #include "stm32l1xx_gpio.h" #include "stm32l1xx_rcc.h" #include "usart.h" #include "delay.h" #include #include #include "stdio.h" void Diable_Usart1_SDI(void); void Enable_Usart1_SDI(void); void Enable_RX(void); void Enable_TX(void); void Break_Sdi_Sensor(void); void Sdi_StartMeasure(void); void Sdi_Read(void); void Sdi_Par(u8 add); void sdi12_buf_clear(void); void sdi12_process(void); char Sdi_readaddress(void);//查询传感器地址 void Sdi_chanegadd(char a,char b);//修改传感器地址 void sdi12_Power_init(void); u8 Sdi_Readone(char add); void ChangeRs485Addr( char addr); typedef struct { int integerPart; int decimalPart; } SensorData; void MODBUS_SendReadRequest(uint8_t slaveAddr, uint16_t startAddr, uint16_t numRegisters); int MODBUS_ParseResponse(uint8_t *response, uint16_t len, SensorData *output); void Get_MODBUS_SensorData(void); typedef struct //数据帧结构体 { char Ch1_RX_BUF[30]; char Ch2_RX_BUF[30]; char Ch3_RX_BUF[30]; char Ch4_RX_BUF[30]; char Ch5_RX_BUF[30]; char Ch6_RX_BUF[30]; // char Ch7_RX_BUF[30]; // char Ch8_RX_BUF[30]; // char Ch9_RX_BUF[30]; char QXZ_RX_BUF[128]; u8 Flag_finish_DATA; }Sdi_Fram_Record_Struct; extern Sdi_Fram_Record_Struct Sdi_Fram_Record_Structs; #endif