Watchdog

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
muster
Użytkownik
Posty: 132
Rejestracja: 01 mar 2006, 20:46
Lokalizacja: POLSKA
Kontakt:

Watchdog

Post autor: muster » 28 lip 2008, 14:22

Jak ustawić watchdog-a w ATtiny13 na czas dłuższy niż 2048 ms :?:

Awatar użytkownika
Zenerek
Użytkownik
Posty: 335
Rejestracja: 21 lip 2006, 11:23
Lokalizacja: Bydgoszcz
Kontakt:

Post autor: Zenerek » 28 lip 2008, 15:38


muster
Użytkownik
Posty: 132
Rejestracja: 01 mar 2006, 20:46
Lokalizacja: POLSKA
Kontakt:

Post autor: muster » 29 lip 2008, 9:23

Dzięki.
A czy da się dłużej niż 8 sekund ?

snow
Użytkownik
Posty: 794
Rejestracja: 16 sty 2007, 3:44
Lokalizacja: lubelskie
Kontakt:

Post autor: snow » 29 lip 2008, 9:27

Może inaczej napisz swój program? Po co ci aż 8s czekania?

Awatar użytkownika
kayron
Użytkownik
Posty: 2088
Rejestracja: 21 wrz 2008, 12:53
Lokalizacja: Poland
Kontakt:

Post autor: kayron » 24 lut 2009, 17:41

Ja trochę chciałbym uzupełnić temat po moich zmaganiach z TINY25/45 w BASCOM i watchdogiem. Otóż w przypadku tego procesora można całkowicie zapomnieć o instrukcjach BASCOMa do obsługi Watchdog. Po po prostu nie działają tak jak powinny i tyle, a właściwie to w ogóle procesory tiny nie są wspierane przez te środowisko. Włączyć ten układ jeszcze się da bez problemu, ale wyłączyć programowo to już inna sprawa. Po wielu próbach, przepisywaniu programów z książek, w końcu znalazłem działające rozwiązanie, w asemblerze w nocie katalogowej. Ponieważ jednak BASCOM nie trawi asemblera AVR wprost z not tu daje procedurę wyłączania watchdoga dla Bascom.

Kod: Zaznacz cały

Sub Wdt_stop
   $asm
      wdr
      push r16
      ldi r16, 0
      Out Mcusr , R16
      in r16, WDTCSR
      ori r16, &b00011000
      Out Wdtcsr , R16
      ldi r16, 0
      Out Wdtcsr , R16
      pop r16
   $end Asm
End Sub

ODPOWIEDZ