Hier ist noch meiner Version mit Watchdog von gestern Abend.
Ich war mir zuerst nicht sicher ob ihr auch den Watchdog gelten läst, immerhin ist der doch recht ungenau (bei mir über 4 sek. in der Minute).
Leider blinkt die LED nicht, sondern wird immer kurz gepulst (man sieht es aber) und der Komplette Flash wird durchlaufen...
5 Maschienenbefehle:
Code:
.include "m16def.inc"
ldi r16, (1<<wde|1<<WDP2|1<<WDP1)
out WDTCR, r16
sbi ddrB, 2
com r20
out PortB, r20
Beim genauerem betrachten ist der Code aber absuluter Quatsch, die LED wird in wirklichkeit andauernd gepulst (allerdings zu schnell fürs menschliche Auge) da der Code mehrmals durchlaufen wird, nur wenn der Watchdog einsprignt ist die Pause ein wenig länger und man sieht jede sekunde ein kurzes flashen...
Besser und nur eine Zeile länger, ist es den Controller einfach zu beschäftigen wie man es ja auch normalerweise macht
Code:
.include "m16def.inc"
ldi r16, (1<<wde|1<<WDP2|1<<WDP0)
out WDTCR, r16
sbi ddrB, 2
com r20
out PortB, r20
ende:
rjmp ende
Aber das ist dann ja schon die Lösung von uwegw.
Ich fand das Rätsel auf jeden Fall sehr gut, sollten wir mit einer anderen (komplexeren?) Aufgabe wiederholen.
Gruß,
Mehto
Lesezeichen