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 ! > > ich habe mit der Station-II eine Hausmanagement realisiert. Alles läuft so weit, jedoch macht mir die Rollladensteuerung ein wenig Kopfzerbrechen. > > Der Grundaufbau ist folgender. > > - Im main-Thread wird auf ein Ereignis (Portänderung durch Schalterbetätigung) gewartet, um dann in eine Funktion zu verzweigen > > - In der Funktion wird dann abhängig von der Eingabe ein anderer Port gesetzt (Relaisbetätigung) > > > > Bei den Rolladen steuere ich also auch die dementsprechenden Relais an. Diese müssen aber nach einer gewissen Zeit wieder abgeschaltet werden (nachdem die Rolladen oben/unten sind). Während dieser Zeit ist das Programm gesperrt, so dass keine weiteren Eingaben mehr angenommen werden (z.B. Lichtschalterbetätigung). > > > > Ich habe nun versucht mittels einen weiteren Threadaufrufes aus der Funktion dieses zu steueren. Indem der aufgerufene Thread die Rolladen-Relais nach der eingestellten Zeit wieder abschaltet. Dieses klappt aber nicht und hat zur Folge, daß das ganze Programm sich abnormal verhält und beliebige Relais angesteuert werden. > > > > Wer weiß einen Rat? > > Klaus > > > Hallo Klaus, > > ich sitze seit 2 Tagen, so langsam verzweifelt, an einem ähnlichen Problem (Heizungssteuerung). > Im thread "Anzeige" verzweige ich nach Drücken einer Taste der Tastatur in eine function, die > die Standardwerte verändert. Dabei stoppe ich den thread "Anzeige" um das Display für die modify- > function frei zu haben. Ich will nun die modify-function automatisch verlassen wenn an beliebiger Stelle > dieser function längere Zeit keine Taste gedrückt wurde. > Mit verschachtelten cpu-zeit fressenden sub-routinen habe ich das irgendwie hingekriegt, aber das > ist nicht sehr elegant und frisst mir zuviel cpu. > Ich setze nun eine gobale Variable auf 1, wenn die modify-function gestartet wird und setze die Variable > zurück, wenn längere Zeit keine Taste gedrückt wurde. > Über diese globale Variable halte ich den anderen thread an und gebe ihn bei entsprechendem Wert > der globalen Variable wieder frei. > Das funktioniert schon ganz gut inzwischen. > MfG > Christian