Re: NOT AUS Kategorie: Programmierung (von Sven Pauli - 12.08.2005 13:02) | |
Als Antwort auf NOT AUS von Andy - 12.08.2005 12:01
| |
Ave, thread main { // !!!!! DING DONG: Klammer drum, Semi wech: // Falsch -> if ports.get(9); if (ports.get(9)) { lcdext.init(); Startbildschirm(); // !!!!! DING DONG: Wie wärs hier mit Semis? Sicherheitshinweis(); // <-- letztes Zeichen = ; Auswahl(); Rechnung(); } else { lcdext.goto(1,0); lcdext.print("NOT AUS"); // s.o. } } // !!!!! DING DONG: Schlie�ende geschw. Klammer // des threads > Würdet ihr es auch so machen... Ich hatte so ein ähnliches Problem. Als Lösungsvorschlag: - schreib einen "Not-Aus-Thread" und lagere alle anderen Aufgaben in eigenen Threads ab. Etwa so: thread job1 { ... } thread jobN { ... } thread emerg_stop { wait ports.get(9); // Bis der Not-Aus gedrückt wird halt job1; halt jobN; // Ggf. die Threads zurücksetzen reset job1; reset jobN; // Displaymeldungen etc. lcdext.goto(1,0); lcdext.print("NOT AUS"); // s.o. sleep 5000; // alternativ: loop { } } Wenn jetzt der Not-Aus gedrückt wird werden sofort alle Threads da gestoppt, wo sie gerade sind. Danach können sie entweder mit reset zurückgesetzt werden (dann fangen sie beim nächsten run wieder ganz vorne an) oder eben nicht (dann geht's da weiter, wo wir angehalten haben). MfG compy | |
Antwort schreiben Antworten: Re: NOT AUS (von Markus - 12.08.2005 15:40) Re: NOT AUS (von JackFrost - 10.10.2005 19:10) |