38 #ifndef DRIVER_DHT11_H
39 #define DRIVER_DHT11_H
110 #define DRIVER_DHT11_LINK_INIT(HANDLE, STRUCTURE) memset(HANDLE, 0, sizeof(STRUCTURE))
118 #define DRIVER_DHT11_LINK_BUS_INIT(HANDLE, FUC) (HANDLE)->bus_init = FUC
126 #define DRIVER_DHT11_LINK_BUS_DEINIT(HANDLE, FUC) (HANDLE)->bus_deinit = FUC
134 #define DRIVER_DHT11_LINK_BUS_READ(HANDLE, FUC) (HANDLE)->bus_read = FUC
142 #define DRIVER_DHT11_LINK_BUS_WRITE(HANDLE, FUC) (HANDLE)->bus_write = FUC
150 #define DRIVER_DHT11_LINK_DELAY_MS(HANDLE, FUC) (HANDLE)->delay_ms = FUC
158 #define DRIVER_DHT11_LINK_DELAY_US(HANDLE, FUC) (HANDLE)->delay_us = FUC
166 #define DRIVER_DHT11_LINK_ENABLE_IRQ(HANDLE, FUC) (HANDLE)->enable_irq = FUC
174 #define DRIVER_DHT11_LINK_DISABLE_IRQ(HANDLE, FUC) (HANDLE)->disable_irq = FUC
182 #define DRIVER_DHT11_LINK_DEBUG_PRINT(HANDLE, FUC) (HANDLE)->debug_print = FUC
245 uint16_t *humidity_raw, uint8_t *humidity_s);
uint8_t dht11_read_temperature_humidity(dht11_handle_t *handle, uint16_t *temperature_raw, float *temperature_s, uint16_t *humidity_raw, uint8_t *humidity_s)
read the temperature and humidity data
struct dht11_info_s dht11_info_t
dht11 info structure definition
uint8_t dht11_info(dht11_info_t *info)
get chip's information
struct dht11_handle_s dht11_handle_t
dht11 handle structure definition
uint8_t dht11_init(dht11_handle_t *handle)
initialize the chip
uint8_t dht11_read_humidity(dht11_handle_t *handle, uint16_t *raw, uint8_t *s)
read the humidity data
uint8_t dht11_deinit(dht11_handle_t *handle)
close the chip
uint8_t dht11_read_temperature(dht11_handle_t *handle, uint16_t *raw, float *s)
read the temperature data
dht11 handle structure definition
uint8_t(* bus_deinit)(void)
void(* delay_ms)(uint32_t ms)
void(* debug_print)(const char *const fmt,...)
void(* delay_us)(uint32_t us)
void(* disable_irq)(void)
uint8_t(* bus_read)(uint8_t *value)
uint8_t(* bus_write)(uint8_t value)
uint8_t(* bus_init)(void)
dht11 info structure definition
float supply_voltage_max_v
char manufacturer_name[32]
float supply_voltage_min_v