Forum: Mikrocontroller und Digitale Elektronik ATmega16 - Watchdog


von Alf (Gast)


Lesenswert?

Hallo Forum,

ich bin an der Inbetriebnahme eine SW für den ATmega16 und habe ein 
Problem mit dem Watchdog. Ich habe nun eine Teastapplikation erstellt 
(s.u.) und festgestellt, dass der Watchdog immer dann zuschlägt wenn ich 
einen Port-Zugriff mache. (Egal ob in C oder per inline Assembler,wie 
hier) Sobald ich den Port beschreibe (hier DDRB.2) schlägt der Watchdog 
zyklisch zu, kommentiere ich die Zeile aus, dann funktioniert der Test 
einwandfrei.
Merkwürdig ist dass das CPU Status Register aber nicht der Watchdog 
Reset anzeigt. Die CPU spring auf den Reset Vektor. Wenn ich den 
Watchdog nicht aktiviere, dann gehen alle Port-Zugriffe problemlos.
Angeschlossen ist nichts an PortB, der Simulator im AVRStudio ziegt das 
gleiche Verhalten, keine Abhängigkeit der Pins an PortB, andere Ports 
habe ich nicht getestet.

Hat der ATmega16 irgendein Problem an der Stelle ?
Bin etwas ratlos über diese Konstellation.

void main (void)
{

MCUCR = 0x40;
WDTCR = 0x0A;

__asm__("sbi 0x17,0x02");

for(;;){_NOP();_NOP();_WDR();}

}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.