Bit 2 – TOV1: Timer/Counter1, Overflow Flag
если я правильно понял то этот бит переполнения таймера
- Код: Выделить всё • Развернуть
while(!(TIFR&1<<2)); // ждем когда бит 2 станет единицей, тоесть переполнение TIFR&0b00000100
TIFR&=1<<2; // обнуляем все кроме 2 бита потому что см выше. хотя по идее надо обнулить только 2й бит
PORTD.7++; // инверсия ноги
while(!(TIFR&1<<2)); // ждем переполнения таймера а с чего ему переполняться? он не запущен
TIFR&=1<<2; // обнуляем все кроме 2 бита
сброс ноги это так
TIFR=TIFR&(~(1<<2))
(1<<2) =>0b00000100
~(1<<2) =>0b11111011
TIFR&0b11111011 => обнулим 2й бит. както так.
и ваще я б скобок понаставлял, а то непонятно с какая операция приоритетней сдвиг или логическое &
тяжело это курить даташит
. ваще лучше на курс сходить, там это разжевано.
Добавлено спустя 2 минуты 48 секунд:ну все, я устал