Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Multithreading Kategorie: Programmierung (von André H. - 27.12.2001 13:08)
Als Antwort auf Multithreading von Stefan Speckmann - 26.12.2001 23:26

Hallo Stefan,

Versuch's einmal mit yield.
Schreibe einfach folgendes vor der Schreib- und Leseroutine:

....
run 255;
yield;
....
//Hier die Schreib- bzw. Leseroutine
....
resume;
....

Das geht aber nur, wenn nur wenige bytes aus dem EEProm gelsesen bzw. geschrieben
werden.

Warum willst Du überhaupt die Werte jedesmal aus dem EEProm lesen ?
Es reicht, wenn Du die Werte immer abspeichert und parallel die Werte in einer
Variabel speicherst.
Nur wenn die Unit neu gestartet wird, wird der Wert aus dem EEprom ausgelesen
und in der Variabel gespeichert.
Das ist viel eleganter und genauso sicher gegen Datenverlust.

MfG André H.


> Hallo,
>
> von einem main-Thread wird ein Thread gestartet der den Zustand von drei Ports permanent abfragen soll. In diesem Falle werden die drei Kanaele eines elektronischen Muenzpruefers abgefragt, 0,5/1/2 Euro. Wenn ein Muenzimpuls (100ns) kommt (low) soll der entsprechende Wert dauerhaft in einem eeprom abgespeichert werden.
>
> Die Werte werden im main-Thread zu anderer Zeit wieder ausgelesen.
>
> Jetzt habe ich aber das Problem das, so vermute ich, waehrend die Daten ins eeprom geschrieben werden, der Thread unterbrochen wird (passiert aber nicht immer). Mit dem Ergebnis das undefinierte Werte geschrieben werden. Das hat dann ueble Folgen im Hauptprogramm.
> Wie kann ich verhindern das der Thread gerade waeherend des Beschreibens des eeproms unterbrochen wird?
>
> Ich hab mir das im Handbuch mal mit der Syncronisation von Threads durchgelesen, aber hab's nicht ganz kapiert. Bin da noch ein ziemlicher Anfaenger?
>


Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten:

Re: Multithreading (von Stefan Speckmann - 27.12.2001 22:04)
    Re: Multithreading (von Klaus - 2.01.2002 14:59)