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

Re: mem.copy was mache ich falsch? Kategorie: Programmierung (von MaWo - 14.08.2007 21:13)
Als Antwort auf Re: mem.copy was mache ich falsch? von André H. - 3.08.2007 10:47
Ich nutze:
C-Control II Station, OSOPT V3.1

Hallo,

danke für den Hinweis. Ich habe es zwischenzeitlich auch schon herausgefunden. Ich bin Irrtümlicher
Weise davon ausgegangen, das die sys00x im OSOPTV3.x schon geladen werden.
Die Kommunikation funktioniert inzwischen - ich habe aber das Problem, das die Daten nur alle
ca 2,5 sec gesendet werden. Meine Zähler im Display werden im sec Takt aktualisiert.
Hat jemand eine Idde die Datenübertragung zu beschleunigen? Zur Info: Es soll im Endausbau eine
Steuerung mit 8 I2C Relaiskarten und diversen Anlogeingängen realisiert werden. Die Daten sollen
in einer Visualisierung dargestellt werden.

Mfg MaWo


> Hallo MaWo,
>
> Das ist mal wieder ein typischer Fall von nicht geladenem sys0002.hex.
> Warum liest eigentlich keiner mehr die Hilfe-HTML zu den Modulen oder wenigstens die Modulheader,
> was dort unter "requires" bzw. "Benötigt" steht?
>
> Auch verstehe ich nicht, warum Du in Deinem Programm drei Threads benutzt.
> Das verursacht in diesem Fall eher Probleme, als daÃ? es einen Nutzen ergibt.
> Denn, da Du aus mehreren Threads "ungeschützt" auf gleiche Ressourcen zugreifst,
> kann es zu einem "Datendurcheinander" kommen.
> Besondern Dein Init Thread sollte eine Funktion sein, und kein Thread.
> Denn sobald noch mehr Initialisierungen dort reinkommen, wird es zu einem Threadwechsel
> kommen, bevor der Thread einmal durchlaufen ist.
> D.h. das restliche Programm arbeitet bereits, bevor alle Initialisierungen durch sind.
> Also mache daraus bitte eine Funktion.
>
> Dein Thread "Auswertung" sollte auch als Funktion ausgeführt werden.
> Ein Auslagern in einen extra Thread bringt hier keinerlei Vorteil.
> Es hat eher den Nachteil, da� es während des Auswertens ein Threadwechsel erfolgen kann,
> und bereits neue Daten eingelesen werden können, bevor fertig ausgewertet wurde.
>
> Ach ja, noch ein Hinweis: Definiere Bytearrays bitte immer mit einer geradzahligen Anzahl
> an Elementen. Also statt byte sData[255] lieber sData[256].
>
> MfG André H.
>


    Antwort schreiben


Antworten:

Re: mem.copy was mache ich falsch? (von André H. - 21.08.2007 9:16)