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

swcom - Verzögerung in Übertragung? Kategorie: Programmierung (von Newbie - 16.09.2011 17:14)
Ich nutze:
C-Control II Station, OSOPT V3.1
Bzgl. voriger Post hwcom konnte ich das Problem eingrenzen:

Ich habe einen Thread, welcher Daten empfängt und diese dann als Echo zurücksendet.

Absolut keine Probleme mit HWCOM -  mit SWCOM jedoch Grosse!

empfangen:              Echo:  

01F400F0012C010101   010000000000000000F400F0012C01010100                          
01F400F0012C010101   010000000000000000F400F0012C01010100                          
01F400F0012C010101   010000000000000000F400F0012C01010100                          
                     
also schön reproduzierbar. Ich habe auch mehrere Empfänger-COM-Ports benutzt.

Die stecken also drin. Synchronisation auf den Datenrahmen
ist auch korrekt. Jedoch erhalte ich eine "Pause" und zuviel Echo-Zeichen!. Selbst mit run 100 die
Prio des Threads hochsetzen hat nichts genutzt. Dies obwohl ich alle anderen Threads angehalten habe
...

Ich empfange 9 Byte und sende 9 Byte folgendermassen (vereinfacht).


loop
{
wait swcom.ready();
wait swcom.rxd();
//sleep 1000;
swcom.receive(buffer,9,500)

tu was...

wait swcom.ready();
//sleep 1000;
swcom.send(buffer,9);  //Echo on other port


}

Also immer schön gewartet, ob die Schnittstelle auch frei ist. Wenn ich die beiden Sleep-Befehle
drinnen habe, so kommt die Antwort in zwei Blöcken mit einer Sekunde Pause! dazwischen haben sich
irgendwie noch 9 0x00 gequetscht.

Zuerst

010000000000000000

nach 1 Sekunde

F400F0012C01010100

Die CC2 wurde erst gerade bei Andre gekauft - sollte also definitv auf dem neuesten Stand sein.
Was könnte es sonst noch sein? Buffer? Da HWCOM tadellos funktioniert, verstehe ich nicht...








    Antwort schreiben


Antworten: