Ob ein Reset das Blink-Programm stoppen würde,
Beim debugwire wird das Reset-Bein als Ein-Draht-Bus verwwendet, /Reset muß folglich intern abgeschaltet/abgekoppelt werden. Genau das findet man auch überall dazu.
Die Dokumentation in den Datenblättern ist teilweise ... dürftig.
Beim Tn441/841 steht zB nichts bei den Bein-Overrides dazu, beim Tn2313/4313 hingegen sieht man, daß DWEN sich wi folgt auf das Reset-Bein auswirkt:
- der Pullup wird aktiviert
- der Pegel wird auf "0" gezwungen
- die Datenrichtung wird durch das dWire-Output festgelegt
Das ist quasi dasselbe wired-and, das man vom TWI kennt - Datenrichtung=Ausgang erzwingt durch die dominante "0" 'n tatsächliches low, Datenrichtung=Eingnag schaltet wegen tristate und dem Pullup 'ne rezessive "1", ein rezessives high.
Aber ich sehe nicht, wo der Reset konkret abgeklemmt ist. Im Tn441/841-Datenblatt würde RSTDISBL die Sleep-Einstellung des Beines unterdrücken, Das Bein selbst ist direkt (über die Analoge Verbindung unter Umgehung der Sleep-Schaltung und des Schmitt-Triggers/Synchronizers) mit dem Reset-Teil verbunden (AIOxn). Das dwire taucht hier wie gesagt gar nicht auf.
Im Tn2313-Datenblatt hingegen sind zwar die Overrides drin, aber hier ist keine Verbindung zum Reset-Circuit zu finden (beim AIOxn steht nichts), das dwire scheint hier zwischen Schmitt-Trigger und Synchronizer abgezweigt auf dem dW-Circuit zu landen (DIxn).
Ok, dWire hebelt also den Reset aus. Klar.
dWire erlaubt außerdem BREAK-Instruktionen im Code (SW-Breakpoints) - das Programm stoppt dann, das dWire-Interface kann dann mit Programmer/IDE kommunizieren.
Auch klar.
Aber kann auch die IDE/der Programmer ein Break erzwingen?
Muß ja irgendwie so sein, sonst könnte man ja via dW nicht flashen (ohne Breaks).
Zurück zum Thema:
DWEN tastet die SPI-ISP-Beine nicht an, sofern da also nichts anderes im Programm eingestellt ist/wird, ist MISO tristate.
Beim konventionellen SPI-Programming aktiviert der /Reset das Interface, der Controller ist Slave, MISO wird zum Ausgang.
Man sollte also eigentlich zwei LEDs (mit geeigneten Vorwiderständen) nach Vcc und Gnd an MISO hängen können - sobald man den Reset auf Gnd zieht, müßte eine LED leuchten. Läßt man den Programmer mit dem Controller kommunizieren (irgendwas auslesen etc) , sollten beide LEDs ... flimmern.
Ist das dWire hingegen aktiviert, sollte nur das Programm einen Einfluß auf die LEDs haben.