Files
SM-1000M/RTX5_20220316/Driver/sdi12/sdi12.h
2026-04-23 10:50:18 +08:00

68 lines
1.3 KiB
C

#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 <stdlib.h>
#include <string.h>
#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