| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | #ifndef AM2301_H_#define AM2301_H_#include <stdint.h>#include "common_config.h"#include "stm32f4xx.h"/* Настройки */#define DHT_TIMEOUT 				10000	//Количество итераций, после которых функция вернёт пустые значения#define DHT_POLLING_CONTROL			1		//Включение проверки частоты опроса датчика#define DHT_POLLING_INTERVAL_DHT11	2000	//Интервал опроса DHT11 (0.5 Гц по даташиту). Можно поставить 1500, будет работать#define DHT_POLLING_INTERVAL_DHT22	1000	//Интервал опроса DHT22 (1 Гц по даташиту)//#define DHT_IRQ_CONTROL						//Выключать прерывания во время обмена данных с датчикомtypedef enum{    CONNECTION_ERR = 0,	READ_ERR,    PARITY_ERR,    CONNECTION_OK,    DATA_OK,    } AM2301_t;/* Структура возвращаемых датчиком данных */typedef struct {	float hum;	float temp;    uint8_t ErrorCycle;   // Счетчик ошибок циклов преобразования температуры    uint8_t SensorState;  // Состояние датчика (0 - датчик работает, 1 - неисправность)} at2301_data_t;/* Структура объекта датчика */typedef struct {	gpio_t ow_pin;    IRQn_Type irq;} at2301_sensor;extern at2301_data_t sAM2301Sensorsdata[MAX_T_SENSORS];void DHT_Task_Init(void);#endif
 |