Re: Probleme mit HWCOM - Fehler gefunden Kategorie: Programmierung (von Georg Mallebrein - 17.11.2003 23:53) | |
Als Antwort auf Re: Probleme mit HWCOM - Fehler gefunden von André H. - 16.11.2003 7:32
| |
Hallo AndrĂ©, das ist ja klasse, so schnell Antwort zu bekommen. Hab vielen herzlichen Dank. Wie kann ich mich denn da revangieren ? Jetzt klappt die Ă?bertragung. Vor einigen Wochen habe ich versucht, Dein EEPROM-Datalogger- Programm aus dem Buch in verschiedene Threads aufzuteilen. Damals kam zwar was am PC an, aber es war "Schrott". Vermutlich habe ich hier nicht beachtet, die COM-Schnittstelle nur von einem Thread aus zu bedienen. Und trotzdem bringt mich Deine Aussage zum „quit -1“ zum Nachdenken: Wenn ich nach "herkömmlichem Programmablaufdenken" programmiere: thread main { unwichtig(); // dies sei eine function schreiben(); // dies sei eine function quit -1; } // end thread main dann wird auf jeden Fall die Funktion „schreiben“ vor dem quit -1 aufgerufen. Dann läuft sie vollständig ab. Sind „unwichtig“ und „schreiben“ jedoch Threads sieht es anders aus. Da ist das Betriebssystem, was Threads mitten im Laufen unterbricht und anderen Threads zunächst einmal Rechenzeit verpasst. Ein entsprechender Hinweis, dass bei mehreren Threads eben die strenge Ablaufreihenfolge im Code durcheinander kommt, wäre vielleicht noch eine gute Ergänzung in Deinem so guten Buch zur C-Control II. Auch im Conrad-Manual wird nicht explizit darauf hingewiesen. So ein „Negativ-Beispiel“ wie mein Test-Programm lässt einem die Sache dann besser verstehen. Wie kann ich das Betriebssystem "disziplinieren" einen Thread vollständig durchlaufen zu lassen, natĂĽrlich auf Kosten anderer ? Muss ich dass mit der Synchronisation mit z.B. „wait free“ machen, wie im Conrad-Manual aufgefĂĽhrt? Wie kann ich das Programmverhalten bei zeitlich kritischen Dingen voraussehen? All diese Fragen stellen sich mir natĂĽrlich nach dieser Erfahrung. In Deinem Buch zur C-Controll II gehst Du nur kurz darauf ein. Ich kann die Anzahl der ununterbrochenen virtuellen Befehle durch die Prio verändern, das habe ich aus dem Buch gelernt. Eine Antwort ist nicht dringend bzw. ich werde auch selber nachforschen um die Sache ganz zu verstehen. Dir jedenfalls noch mal danke - und wenn meine Wetterstation läuft, mit einem EEPROM-Datalogger als Ringspeicher, mit einem Wetterdaten-Reduktions Algorithmus, mit einer direkten COM-Ă?bertragung der EEPROM Daten nach EXCEL mit automatischer Diagrammerstellung und statistischen Wetter-Auswertungen werde ich mich melden. Vielleicht auch schon vorher mit Fragen. Viele GrĂĽĂ?e von Georg | |
Antwort schreiben Antworten: Re: Probleme mit HWCOM - Fehler gefunden (von André H. - 27.11.2003 23:54) Re: Probleme mit HWCOM - Fehler gefunden (von Georg Mallebrein - 1.12.2003 20:03) |