#include <avr/io.h>
#include <avr/interrupt.h>
#define sig1ON PORTB |= (1<<PB2)
#define sig2ON PORTB |= (1<<PB3)
void wait1 (void)
{
TCNT0 = (256 - 234);
while (TCNT0 < 780){};
}
int main(void)
{
DDRB = 0b001100;
PORTB = 0b100011;
// Таймер
TCCR0B = 0b00000101; //делитель
TIMSK0 = 0b00000010; // Разрешение прерываний по переполнению
sei();
while(1)
{
if (bit_is_clear(PINB,PB0))
{
PORTB |= (1<<PB2);
wait1();
PORTB &= ~ (1<<PB2);
}
if(bit_is_clear(PINB,PB1))
{
PORTB |= (1<<PB2);
PORTB |= (1<<PB3);
wait1();
PORTB &= ~ (1<<PB3);
}
}
}
Вопрос? на wait1() задержка работает, проверил осцил на выходе,
получаетса если мне нужны две временные задержки мне нада описать каждые?
8 бит таймер, как мне описать две задержки и правильный у меня код?


