68 lines
1.3 KiB
C
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
|
|
|
|
|