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

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

Kommentar:
Einfügen von HTML im Kommentar:

Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a>
Bild einfügen: <img src="BILDURL">
Text formatieren: <b>fetter Text</b>  <i>kursiver Text</i> <u>unterstrichener Text</u>
Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b>
C2 Quellcode formatieren: <code>Quellcode</code>
ASM Quellcode formatieren: <asm>Quellcode</asm>
(Innerhalb eines Quellcodeabschnitts ist kein html möglich.)
Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst !  

> Hallo, > > Ich finde keine Lösung für mein Problem, so versuche es diesmal hier. > > Das Problem. C-Control kann nicht richtig unterscheiden ob er Daten im Puffer hat, egal ob hwcom oder swcom. > Ich konnte es nicht so einfach reproduzieren, ich hoffe folgendes Code hilft: > > thread testcom > { > loop > { > while(swcom.rxd()) > hwcom.put(swcom.get()); > while(hwcom.rxd()) > swcom.put(hwcom.get()); > yield; > } > } > > mit diesem Code wird eine ganz einfache Weiterleitung erzeugt von swcom zu hwcom. > Es gibt verschiedene Varianten zum gleichem Ergebnis die blockieren oder nicht blockieren, ich habe mehrere > getestet. Ich weiß hier kann eine Seite nichts senden solange die erste nicht fertig ist. Es geht aber nicht darum > sondern um folgendes: > > Ein Rechner mit zwei COM-PORTs ist angeschlossen an die C-Control Unit. Sagen wir: > COM1 ist an HWCOM angeschlossen > COM2 an SWCOM. > > Ich habe einen Port Monitor am laufen und beobachte COM1 und COM2, Parallel öffne ich > 2 Terminals, z.B Hyper Terminal für COM1 und für COM2. > > Ganza am Anfang sieht alles OK. Ich schreibe etwas zum COM1, und es erscheint auf dem Fenster von COM2 > wegen der weiterleitung von C-Control mit dem oben angezeigten Code. > Andersrum funktionierts auch. Nach eine Zeit, nachem sehr viele Daten geschickt werden. > Eventuell werden größe Blocke geschickt. Hier das Problem. > Unabhängig davon ob die Blöcke viel kleiner sind als dem gesetzten Eingangsbuffer ist, auch wenn ich genug lange > Pausen zwischen Blöcken setze, so dass der Buffer auch wirklich nicht VOLL wird, (Producer, Consumer Beispiel) > Es kommt irgendwann der Punkt wo die Weiterleitung nicht mehr richtig funktioniert. D.h. > > Das Problem außert sich in einer Verspätung der Daten. > > d.h. Ich sende von COM1: abcdefgh, und sagen wir mal, es gibt eine Verspätung von 4 Zeichen. > dann gerade wenn "h" geschickt wird von COM1, dann erscheint auf COM2 gerade nur "abcd", > > schreibe ich weiter auf COM1, z.b. "i", dann erscheint auf COM2 "abcde", > Obwohl das Program weiterläuft, die Daten werden nicht weiter geleitet an COM2, erst wenn noch ein Paar Daten zuerst > ankommen. Und die Daten sind auch nicht verloren gegangen, die befinden sich auf jeden Fall im Puffer, > denn sobald ich weitere Daten schicke über COM1, ich sehe wie die alte Daten noch weitergeleitet werden zu COM2. > > Abhängig von der Datenmengen können mit der Zeit mehr verspätete Zeichen sein. > > Kann jemand sehen was das Problem sein kann?
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB