swcom - Verzögerung in Übertragung? Kategorie: Programmierung (von Newbie - 16.09.2011 17:14) | ||
| ||
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: |