Bascom setzt den afaik per Software auf 0x00 oder 0xFF bei Programmstart
Ja, auf 0x00 - aber das kannst Du auch mit der "
$NORAMCLEAR"-Direktive unterdrücken.
Daher konnte man Bascom für winzige Tinies auch lange Zeit kaum verwenden
Dann gibt's noch Tinies ganz ohne SRAM, die kann BASCOM gar nicht programmieren.
Beim Versuch, ein "leeres" Programm mit inkludiertem AT90S2343 zu compilieren stürzt meine Bascom-Version übrigens ab (das Regfile existiert, der Controller hat auch SRAM...)
Das betrifft aber nicht den WDT oder den auch?
Ob Hund oder PowerOn: Während des Reset gehen die Beine Tristate (bis auf eventuelle Programmierleitungen (JTag, dWire, SPI (sofern CS aktiviert wird)). Nach Ablauf des Reset-Timeout werden alle I/O-Register mit ihren Defaults (*) beladen und der Program-Counter zurückgesetzt. Danach beginnt der Instruction-Decoder mit seiner Arbeit.
Wenn es nicht im Programm steht, werden die Speicher auch nicht manipuliert.
Solange der Controller während/vor dem Reset nicht stromlos wird/war, enthält er die zuletzt geschriebenen Werte bei. Sonst kann da alles mögliche drinnstehen.
mit ihren Defaults (*) : Die Reset- Quelle ist ein Bestandteil der Defaults, und kann aus einem Register ausgelesen werden (also 'ne Software-Angelegenheit). Einige Defaults sind Fuse-abhängig (Main-Clock-Prescaler, bei einigen Controllern auch der Grundzustand von (PWM-)Beinen von Timern, wenn ich mich recht erinner.)