Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo Andy, > > > Ich schalte über PO0-3 4 Relais. Letztendlich wollte ich nur ein mögliches Register wissen, aus > > dem ich auch nach x Sekunden noch auslesen kann, welcher Ausgang/Relais jetzt geschaltet > > ist und welches nicht. > > > > Aber scheinbar ist die Lösung, zu Beginn des Programms einen definitieren Zustand her zu stellen, > > um dann selber zu "protokollieren", was ich geschaltet habe und was nicht. > > > > Oder weißt Du ein Register wo ich das ablesen kann? > > Wenn es nur darum geht, den aktuellen Soll-Zustand zurückzulesen, kannst Du > einfach die get-Funktionen in stports.c2 verwenden. > Allerdings kann es sein, daß z.B. durch externe Störeinflüsse ein Ausgang > einen falschen Zustand aufweist, da die Zusatzports über Schieberegister gebildet werden. > Ein Zurückglesen ist bei Schieberegistern (mit par. Ausgang) leider nicht möglich. > Um sicherzustellen, daß die Ausgänge immer den richtigen Zustand haben, > hilft hier nur ein regelmäßiges Aktualisieren der Schieberegister. > Dies geschieht bei über jede "schreibend" auf die Schieberegister zugreifende Funktion in stports.c2 . > > Direkte Register für die Portzustände gibt es nicht, da diese keine Funktion > des µControllers selbst sind. > Die Portzustände werden in dem Bytearray <code>stports.states[]</code> gespeichert. > Alle Funktionen in stports.c2 greifen drauf zu. Jedoch, mit Ausnahme von getall(), nur auf ASM-Ebene. > > Das steht aber auch in der Hilfe-HTML zum Modul. > Daher kaufe ich Dir nicht ab, daß Du nichts dazu gefunden hattest, wie Du im Anfangsposting > geschrieben hattest. ;-) > Denn, hättest Du gesucht, wärst Du über die get-Funktionen in stports.c2 gestolpert. ;-) > > Was nun das sichere Schalten mit echtem Zurücklesen der Portzustände angeht, > so ist dieses natürlich leider, wie erwähnt, bei Schieberegistern nicht möglich. > Dies wäre hier z.B. nur über I²C-Bus-ICs möglich. > Dies hilft zwar auch nichts, wie bereits erwähnt wurde, wenn irgendetwas in der Kette > bis zum Verbraucher (Transistorstufe, Relais, Sicherung ...) nicht so arbeitet, wie es soll, > jedoch ist das dann eine generelle Frage bei Sicherheitsrelevanten Anwendungen, > die nur durch ein direktes Überwachen des Verbrauchers gelöst werden kann. > > Aber für die, die lieber eine andere Lösung, als die Schieberegister für die Zusatzports > der Station haben möchten (LCD-Bel., Relais, LEDs, Ports PO.0-.4 ), oder die jetzigen > Ports PO.0-.4 auch gerne als I/Os, also wahlweise auch als Eingang nutzen möchten, > hätte ich vielleicht folgende Prototypplatine anzubieten: > <img src="/forum/pics/CC2-Station_Rev1-1_Prototyp.jpg"> > Es ist eine alternative Platine für die Station. Statt den Schieberegistern befindet > sich ein MAX7311 auf der Platine. > Die Platine bietet noch eine Anzahl weiterer Änderungen, die ich jetzt nicht alle Aufzählen möchte. > Ich habe noch knapp 45 Stck. von den Platinen. > Diese Platine hat aber leider zwei kleine Flüchtigkeitsfehler: > 1. Ich habe einen Widerstand für die Tastatur vergessen. > 2. Es sind zwei Pull-Downs an den Ausgängen des MAX7311 für die Relais nötig, > da die verwendeten Relais eifach zu wenig Strom brauchen. ;-) > (Die Relais ziehen trotz 110k (100k-Pull-Up+10k Basiswiderst.) an.) > Beides muß beim Bestücken gepatcht werden. > Der zweite Patch ist einfach und im Bild auch zu sehen. (Die beiden 10k-Widerst. direkt neben > dem blauen Kondensator beim MAX7311.) > Der Erste Patch muß auf der Platinenunterseite durchgeführt werden, ist aber auch > kein größeres Problem. > > Wenn also der eine oder andere Interesse an dieser Platine für seine Station hat, kann er sich melden. > Der Rest der Station (Gehäuse, LCD, LEDs) bleibt hier unverändert. > > MfG André H.