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

Re: Probleme mit HWCOM und mehreren Threads Kategorie: Programmierung (von André H. - 13.11.2003 0:52)
Als Antwort auf Probleme mit HWCOM und mehreren Threads von Georg Mallebrein - 10.11.2003 21:54

Hallo Georg,

Zuerst: Ein kleines "Hallo" oder ähnliches am Anfang eines Postings könnte nicht
schaden. Das gehört einfach zur Höflichkeit in Foren.

> Ich will mehrere Threads einsetzen und gleichzeitig über die serielle Schnittstelle Daten nach
> Excel oder zu einem Hyperterminalprogramm übertragen.

Prinzipiell sollte man nie "gleichzeitig" von mehreren Threads auf die serielle Schnittstelle
zugreifen. Das endet, ohne speziellem Protokoll, fast immer in einem Datendurcheinander.
Besser ist es die COM von einem eigenem Thread übernehmen zu lassen.

> Eine Messung soll im Hintergrund auch dann noch Daten erfassen, wenn ich bereits gemachte
> Messungen aus einem EEPROM-Ringspeicher in den PC auslese.
>
> Alle Versuche mit mehreren Threads brachten bisher irgendwie seltsame Ergebnisse.
> Einmal brach die Ã?bertragung ab, ein anderes Mal ging gar nichts, ein drittes Mal
> kamen total andere Zeichen am PC an. Ein viertes Mal ist das Terminalprogramm ausgestiegen.
>
> Verwende ich nur einen Thread "main" funktioniert die Ã?bertragung..

Verwende einen Thread für die Kommunikation und einen für die Datenerfassung.
Das scheint hier das sinnvollste zu sein.

> Mit Capture und Release habe ich auch nichts erreicht, dann wird gar nichts mehr übertragen.
> Bemerkung: Ich habe einfach vor den COM-Ausgaben in einer Funktion zunächst Capture
> geschrieben und am Ende der Ausgaben ein Release.

Verschachtelte Systemcaptures funktionieren nicht. Da die ser. Schnittstellen
bereits gecaptured sind, führt eine weitere System-Capture-Eben zum verriegeln(=anhalten)
aller Threads, die dieses Capture nutzen.

Verschachtelte Captures funzen nur mit Hilfe von cap.c2, wie es bereits Tom
geschrieben hat.

> Was muss man beachten um eine fehlerfreie �bertragung über die COM-Schnittstelle
> bei Programmen mit mehreren Threads zu erreichen?

Wie gesagt, sollte ohne einem speziellem Ã?bertragungsprotokoll immer nur ein Thread
Zugriff auf eine ser. Schnittstelle haben.
Andernfalls muÃ?t Du mit den erweiterten Captures (cap.c2) arbeiten, und ein
Ã?bertragungsprotokoll festlegen, damit keine Daten durcheinanderkommen.
 
> Es wäre schade, wenn ich die Multi-Thread Technik nicht verwenden könnte.

Hier spricht nichts dagegen.
Wie gesagt: Ein Thread für die Datenerfassung, und einer für die Kommunikation.

MfG André H.


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

Das macht meine Heizung gerade


    Antwort schreiben


Antworten:

Re: Probleme mit HWCOM und mehreren Threads (von Georg Mallebrein - 13.11.2003 1:19)
    Re: Probleme mit HWCOM und mehreren Threads (von André H. - 15.11.2003 21:00)
        Re: Probleme mit HWCOM und mehreren Threads (von Georg Mallebrein - 15.11.2003 22:11)
            Re: Probleme mit HWCOM - Fehler gefunden (von André H. - 16.11.2003 7:32)
                Re: Probleme mit HWCOM - Fehler gefunden (von Georg Mallebrein - 17.11.2003 23:53)
                    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)
    Re: Probleme mit HWCOM und mehreren Threads (von Tom - 13.11.2003 12:18)