| 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
 
 
  |