QM33
11.11.2007, 15:35
Nachfolgender Code läuft auf einem m8 perfekt. Der Watchdog kommt nach 2 Sekunden und das Programm startet von vorne.
Auf einem m168 jedoch hängt sich der Chip komplett auf. Nicht einmal ein HW Reset mit dem Reset PIN ist möglich! Für mich ist das der Super GAU und ich habe es nur durch Zufall bemerkt, weil ich in einigen Funktionen gezielt den WD durch lange Pause auslöse, um das Programm neu zu starten - z.B. nach Konfigurationsänderung.
Das Problem hängt mit dem LCD Befehl zusammen. Lasse ich ihn weg und mache statt dessen PRINT Ausgaben, läuft es.
Könnte das mal jemand von euch mit Bascom 1.11.9.0 nachvollziehen?
$regfile = "m168def.dat"
$crystal = 3686400
$hwstack = 32
$swstack = 10
$framesize = 40
Config Watchdog = 2048
'### LCD
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
Config Lcd = 16 * 2
Start Watchdog
Cls
Lcd "Start"
WaitMs 1000
Cls
Lcd "1000ms elapsed"
WaitMs 5000
Cls
Lcd "5000ms elapsed"
End
Auf einem m168 jedoch hängt sich der Chip komplett auf. Nicht einmal ein HW Reset mit dem Reset PIN ist möglich! Für mich ist das der Super GAU und ich habe es nur durch Zufall bemerkt, weil ich in einigen Funktionen gezielt den WD durch lange Pause auslöse, um das Programm neu zu starten - z.B. nach Konfigurationsänderung.
Das Problem hängt mit dem LCD Befehl zusammen. Lasse ich ihn weg und mache statt dessen PRINT Ausgaben, läuft es.
Könnte das mal jemand von euch mit Bascom 1.11.9.0 nachvollziehen?
$regfile = "m168def.dat"
$crystal = 3686400
$hwstack = 32
$swstack = 10
$framesize = 40
Config Watchdog = 2048
'### LCD
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
Config Lcd = 16 * 2
Start Watchdog
Cls
Lcd "Start"
WaitMs 1000
Cls
Lcd "1000ms elapsed"
WaitMs 5000
Cls
Lcd "5000ms elapsed"
End