#ifndef IOSHT75_INC #define IOSHT75_INC typedef union { unsigned int i; float f; } value; enum{TEMP,HUMI}; #define sNAK 0 #define sACK 1 //adr command r/w #define STATUS_REG_W 0x06 //000 0011 0 #define STATUS_REG_R 0x07 //000 0011 1 #define MEASURE_TEMP 0x03 //000 0001 1 #define MEASURE_HUMI 0x05 //000 0010 1 #define RESET 0x1e //000 1111 0 int read_sht75(float *temp_val, float *humi_val); int print_sht75(unsigned int num); void calc_sth11(float *p_humidity, float *p_temperature); float calc_dewpoint(float h, float t); char s_measure(unsigned char *p_value, unsigned char *p_checksum, unsigned char mode); char s_read_statusreg(unsigned char *p_value, unsigned char *p_checksum); char s_write_statusreg(unsigned char *p_value); char s_softreset(void); void s_connectionreset(void); void s_transstart(void); char s_write_byte(unsigned char arg_value); char s_read_byte(unsigned char ack); char s_seek_ack(void); char s_seek_conversion_end(void); #endif