#include #include //#define F_CPU 1000000UL int enc_val, last_enc_val; long dht_Draw_idle=0; bool dht_enabled = false; #include "dht.h" #include "enc.h" ISR(TIMER1_CAPT_vect) { TCNT1 = 0; DHT_get_bit(); } // Прерывание таймера ISR(TIMER0_COMPA_vect) { T0_CA(); } // Прерывание TIMER0_COMPA_vectтаймера ISR(TIMER1_COMPA_vect) { T1_CA(); } // Настройка void setup() { // Инициализируем UART Serial.begin(57600); encoder_setup(); // Настраиваем таймер setup_timer(); // Разрешаем прерывания sei(); Serial.println("Start system"); delay(10); DDRD = 0b10000000; } // Основной цикл void loop() { // Читаем данные с DHT dht_enabled = dht_check(); if ( dht_enabled ){ Serial.print( dht_humidity() ); Serial.print("% "); Serial.print( dht_temperature() ); Serial.println("C"); } enc_val = encoder_value(); bool Draw = false; if (enc_val != last_enc_val) { Draw = true; last_enc_val = enc_val; } if (Draw) { Serial.println("Enc [" + (String)enc_val + "] "); } }