Potrzebuje odmierzyć dokładnie 1 sekundę mam to zrobione na _delay_ms(1000); czy ktoś może podać jakiś przykład na timerze. Z góry dziękuje za pomoc
Czy wolisz polską wersję strony elektroda?
Nie, dziękuję Przekieruj mnie tamISR(SIG_OVERFLOW0)
{
sekunda++;
}
while(PIND&(1<<RF12_IRQ))
{ // jeśli brak przerwania czeka 600 x 2ms
k++;
_delay_ms(2);
if(k>=600)
{
k=600;
LCD_xy(0,0);
write_text(" Brak sygnalu ");
LCD_xy(1,0);
write_text(" ");
}
}
_Robak_ napisał:Wlasnie dlatego stosuje sie przerwania, jak procek ma cos innego do roboty to one i tak wystapia. Jesli ma wystapic pozniej przy pracy synchronicznej, to przy asynchronicznej tez wystapi pozniej. A co do kwarcu zegarkowego, przy zegarze 1MHz tez da sie odmierzyc dokladnie jedna sekunde
TCNT1 = 0x00;
while(PIND&(1<<RF12_IRQ)) sygnał ma przychodziś co 1 sek i program wyskakuje z tej pętli jeśli nie, to timer dojdzie do 1,2s i wyświetli się brak sygnału
{
}