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 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: > <code> > thread main > { > unwichtig(); // dies sei eine function > schreiben(); // dies sei eine function > quit -1; > } // end thread main > </code> > 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 >