Zitat von
Dunuin
..aber nun lässt mich
Bascom nicht mehr "Config Watchdog = 8192" nutzen und es wirft eine Fehlermeldung mit "...[8192]..."
Ja, das ist ein Bug, getestet auf 2.0.7.1.
Dann wollte ich die WDP0 bis WDP3 Bits im Register mit "WDP0 = 1" und "Reset WDP0" usw. selbst auf 1001 setzen,
Wenn Du nicht weißt, daß WDP0 eine Konstante ist, der Du nichts zuweisen kannst und die in Verbindung mit dem Zielregister verwendet werden muss, dann würde ich das Ändern der .dat lieber bleiben lassen, denn das wird dann nix.
Der Bug hat aber zur Folge, daß:
Code:
Config Watchdog = 1024
den WDT tatsächlich auf 8 Sekunden setzt.
Um den Code bei 'ner neuen Version nicht ändern zu müssen, wär's hier sinnvoll das Register selbst zu setzen.
Das muss mit einer "timed sequence" gemacht werden, dies hier ist die Entsprechung des Config Watchdog Befehls:
Code:
MCUSR = MCUSR And NBits(WDRF)
WDTCSR = Bits(WDP3 , WDCE , WDE , WDP0)
WDTCSR = Bits(WDP3 , WDP0)
Edit:
Ich habe die selbst versucht abzuändern, aber dann passte das Timing des WDTs überhaupt nicht mehr und der WDT Interrupt wurde ständig ausgeführt.
Kommt darauf an, was geändert wurde.
Wenn Du in der .dat nach der Zeile wdvalue ... suchst und ihn durch diese ersetzt, dann klappt's auch:
Code:
WDVALUE=16,32,64,128,256,512,1024,2048,4096,8192
Sonst muss nix geändert werden.
Lesezeichen