Attiny watchdog timer

Miroslav Šinko sinkomiro na gmail.com
Sobota Leden 19 16:09:56 CET 2013


wdt_disable() na zaciatku nestaci a je to popisane v datasheete pri 
popise registra WDTCR – Watchdog Timer Control Register, konkretne Bit 3 
– WDE: Watchdog Enable. Vyssie je aj vzorovy kod.

Ked nastane reset od watchdogu, nastavi sa bit MCUSR.WDRF. Ten musite 
najprv znulovat, az potom volat wdt_disable(), inac watchdog nezakazete.

miro

On 19. 1. 2013 16:01, Miroslav Mraz wrote:
> Vyřešeno.
> Je to tak nějak jak píšete, protože když zatáhnu za reset pin tak se to
> chová stejně blbě jako když to zresetuje watchdog. Je jen divné, že
> wdt_disable() + instrukce wdr na začátku nepomůže. Pomůže jen dát
> wdt_enable() hned na začátek. Ono je to docela logické a asi to tak
> většinou lidi používají, já jsem jen chtěl, aby počáteční inicializační
> sekvence nebyla pomocí WDT hlídána, protože může mít delší trvání. Ten
> watchdog je stejně jen taková berlička když kulhá něco v programu, být
> to domácí bastl, vykašlal bych se na to.
>
> Mrazík
>
> Andrej Jancura píše v So 19. 01. 2013 v 11:13 +0100:
>> Dobry den,
>>
>> To vyzera ako keby reset nastavil nejaku delicku inak, ako cakate.
>> Myslim si, ze druhy reset nie je 1s ale nieco ine, pretoze vam to
>> zacne periodicky resetovat. Zrejme to wdt_1s musite nastavit kazdy
>> krat, ked je reset spolu s hodinami. Ja som watchdog debugoval tak, ze
>> som si nechal generovat na nejakom pine kratke pulzy po kazdom
>> prikaze.
>>
>> A.


Další informace o konferenci Hw-list