Hallo,
Ehrlich gesagt kann ich nicht nachvollziehen, wieso Du lieber in Hardware investierst, die zusätzliche Interrupt-Programmierung auf Dich nimmst, nur um das direkte Speichern zu umgehen?!!!
Ich sage Dir einen 20 mal höheren Aufwand voraus - inklusive der Ungewissheit, ob Deine Hardware-Interrupts so funktionieren, wie Du es Dir vorstellst ... Vergiss es!!!
Stell den Kanal ein, speicher die Daten im EEPROM und gut iss. Außerdem kann Dir die Kiste dann ruhig mal unkontrolliert abschmieren, ohne dass Du "Datenverlust" hast... Wink
Ich will die Einstellungen allein deshalb nicht bei jedem Schalten im EEPROM speichern, weil für jede Zelle nur 10.000 Beschreibungen garantiert sind... Gut, jetzt kann man sagen, dass reicht ja dicke, aber ich mag den Gedanken nicht, dass der EEPROM irgendwann verschlissen ist, nur weil ich zu oft am Taster rumgedrückt hab
Wenn man die Zellen des EEPROM natürlich nach 10.000x schreiben immer durchwechselt könnte man das umgehen. Aber das ist irgendwie auch sinnlos. Außerdem finde ich es wie gesagt sehr ineffizient dauernd in den Speicher zu schreiben, wo eine Beschreibung doch genugen würde. Hoffe jetzt kannst du's nachvollziehen
Ein hoher Hardware Aufwand ist das ja auch nicht... Als "Überwachungsspannung", die ich in meinen Interrupt speise, nehme ich ja die runtergeregelte Heizspannung. Das ist blos eine Z-Diode und ein Widerstand mehr. Dann noch ein Kondensator der die µC Versorgungsspannung liefert wenn die Heizspannung weg ist. Das wäre alles an Hardware.
Softwaremäßig ist es genauso einfach. Gut, ich sollte vielleicht erwähnen, dass ich das ganze in C mache und nicht direkt in Assembler. Im Simulator funktioniert meine Interruptroutine auch wunderbar, und ich sehe keinen Grund warum es auf der Hardware nicht auch so funktionieren soll (zumal es im Datenblatt auch alles so beschrieben ist wie ich's gemacht hab).
Ob's tatsächlich geht wird sich zeigen. Aber wenn ja, dann war's viel einfacher als gedacht
Gruß,
Johannes