Witam
Mam program który używa USART, ponieważ potrzebowałem jeszcze jednego portu UART, dołożyłem softwerowego UARTA i tu zaczeły się problemy z watchdogiem. Ustawienia watchdoga sa takie że robi restert jesli nie bedzie jego zerowania po około 2s, dopóki nie dodałem softwerowego uarta wszytsko było ok, ale po jego dodaniu reset procka nastepuje już po około 950ms. Po analizie kodu softwerowego uarta doszedłem do tego że przestawienie watchdoga nastepuje gdy dokonam inicjalizacji soft_uart, a dokładnie ustawienie
i włączenie przerwania od timera
jesli wyzeruję bit CS01
oraz jeszce raz dokonam ustawien watchdoga
to wszystko wraca do normy.
Moje pytanie dlaczego uruchomienie timera z prescalerem 8 ma wpływ na watchdoga?
pozdrawiam
tmek
Mam program który używa USART, ponieważ potrzebowałem jeszcze jednego portu UART, dołożyłem softwerowego UARTA i tu zaczeły się problemy z watchdogiem. Ustawienia watchdoga sa takie że robi restert jesli nie bedzie jego zerowania po około 2s, dopóki nie dodałem softwerowego uarta wszytsko było ok, ale po jego dodaniu reset procka nastepuje już po około 950ms. Po analizie kodu softwerowego uarta doszedłem do tego że przestawienie watchdoga nastepuje gdy dokonam inicjalizacji soft_uart, a dokładnie ustawienie
TCCR0 |= ( 1 << CS01); TCCR0 |= ( 1 << WGM01); i włączenie przerwania od timera
TIMSK}= ( 1 << OCIE0);
jesli wyzeruję bit CS01
oraz jeszce raz dokonam ustawien watchdoga
WDTCR = (1<<WDE) | (1<<WDP2) | (1<<WDP1)| (1<<WDP0);//
wdt_reset();*/
to wszystko wraca do normy.
Moje pytanie dlaczego uruchomienie timera z prescalerem 8 ma wpływ na watchdoga?
pozdrawiam
tmek