#ifndef __HP303S_H__ #define __HP303S_H__ #include "main.h" #include "modbus.h" #define HP303S_KP 253952.0 #define HP303S_TP 1 #define Write 1 #define Read 0 #define WAIT_TIME 4 #ifndef HIGH #define HIGH 1 #endif /* HIGH */ #ifndef LOW #define LOW 0 #endif /* LOW */ #define SPI_SCK(x) HAL_GPIO_WritePin(HP303S_SCK_GPIO_Port,HP303S_SCK_Pin,(GPIO_PinState)x) #define SPI_MOSI(x) HAL_GPIO_WritePin(HP303S_MOSI_GPIO_Port,HP303S_MOSI_Pin,(GPIO_PinState)x) #define SPI_MISO HAL_GPIO_ReadPin(HP303S_MISO_GPIO_Port,HP303S_MISO_Pin) #define HP303_CS(x) HAL_GPIO_WritePin(HP303S_NSS_GPIO_Port,HP303S_NSS_Pin,(GPIO_PinState)x) typedef struct { //压力数据 uint8_t PRS_B[3]; //温度数据 uint8_t TMP_B[3]; }HP303S_T_and_P; typedef struct { uint8_t reg0x10; uint8_t reg0x11; uint8_t reg0x12; uint8_t reg0x13; uint8_t reg0x14; uint8_t reg0x15; uint8_t reg0x16; uint8_t reg0x17; uint8_t reg0x18; uint8_t reg0x19; uint8_t reg0x1A; uint8_t reg0x1B; uint8_t reg0x1C; uint8_t reg0x1D; uint8_t reg0x1E; uint8_t reg0x1F; uint8_t reg0x20; uint8_t reg0x21; }REG_0X10_0X21; typedef struct { int32_t C0; int32_t C1; long C00; long C01; int32_t C10; int32_t C11; int32_t C20; int32_t C21; int32_t C30; int32_t Praw; double Praw_sc; int32_t Traw; double Traw_sc; double Pcomp; double Tcomp; }COEF_DATA; void hp303_init(void); void hp303_read(void); #endif /****END OF FILE****/