Vorteile mit cap.c2 ? Kategorie: Programmierung (von Norbert - 14.06.2006 18:09) | ||
| ||
Hallo cc2 Fans, seit gut 2 Jahren laufen die threads fast klaglos, es gibt jedoch ein paar unschöne Dinge, die ich nun endlich anpacken muss. logbuch: ich beobachte geringe Störungen beim Schreiben von strings in das RAM device (Port Version). alle 30 Minuten wird ein string von 30 Zeichen geschrieben, der Solarergebnisse enthält. Zusätzlich werden von anderen threads ca. 10 spontane Ereignisse pro Tag (Dämmerung, Tastaturbefehle) geschrieben. Etwa nach 3 bis 10 Tagen kommt es zu einzelnen verstümmelten Zeichen im Logbuch. Ein Bit im string ist gekippt, auffällig bei Ziffern, die dann als Buchstabe in der Tabelle hervortreten. (dump logbuch in eine Excel csv Datei). Meine erste Idee war, die Function cap.c2 (Version 1.04) einzusetzen. Aber eifrige Forum Leser wissen, dass ein doppeltes capture zum deadlock führt. Also fällt die folgende Idee function write (string event) ... { wait cap.capture (0); // hole logbuch_pointer ... //schreibe string ins RAM ram.writestr(logbuch_pointer,event); // increment logbuch_pointer ... release (0); ... } wohl ins Wasser, weil bei genauerem Hinsehen das Schreiben von strings z.B. mit der function ram.c2 bereits capture enthält und somit die gefürchtete doppelte capture Situation entsteht. Nun könnte ich natürlich vor dem Eintritt in die kritische Phase die thread Prio erhöhen, damit das Schreiben ins logbuch von niemand gestört werden kann, aber es scheint mir gefährlich. Ich brauche eine gute Idee zur Ressourcen Verwaltung des RAM Moduls. Grü�e aus dem Norden, Norbert | ||
Antwort schreiben Antworten: Re: Vorteile mit cap.c2 ? (von André H. - 15.06.2006 22:05) Re: Vorteile mit cap.c2 ? (von Norbert - 16.06.2006 7:55) Re: Vorteile mit cap.c2 ? (von krassos - 15.06.2006 16:57) |