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 !  

> Ich beziehe mich auf meinen Post > > http://www.cc2net.de/Foren/CC2Net_Forum/lesen.php?eintrag=16231 > > Ich vermute stark, das ein Bezug zu folgendem Post besteht. Langsam vermute ich einen Fehler > weiter unten im "System" - darum jetzt ein Post hier.: > > http://www.cc2net.de/Foren/CC2Net_Forum/lesen.php?eintrag=15567 > > Ausgangslage: Ich verwende SWCOM mit Pegelwandler. Die Routine funktioniert einwandfrei mit HWCOM, > jedoch nicht mit SWCOM. > > Hier der aktuelle Code. Es ist das einzige Modul und thread im Projekt. > > <code> > thread main > { > stports.init(); > stports.alloff(); > lcdext.init(); > swcom.init(); > swcom.setspeed(5); > > byte buffer[32]; //2ter serieller Buffer > byte length; > int Wert1; > int Wert2; > int Wert3; > byte Flag1; > byte Flag2; > byte Flag3; > > mem.fill(buffer,32,0x00); //Löschen > > loop > { > wait swcom.ready(); > wait swcom.rxd(); > > swcom.receive(buffer,9,500); > > Wert1=mem.getint(buffer,0); > Wert2=mem.getint(buffer,2); > Wert3=mem.getint(buffer,4); > Flag1=buffer[6]; > Flag2=buffer[7]; > Flag3=buffer[8]; > > wait swcom.ready(); > swcom.send(buffer,9); //Echo > > lcdext.clear();lcdext.home(); > lcdext.zahl3p(Wert1);lcdext.zahl3p(Wert2);lcdext.zahl3p(Wert3); > lcdext.line(2); lcdext.zahl3p(Flag1);lcdext.zahl3p(Flag2);lcdext.zahl3p(Flag3); > > } > } > </code> > > Wenn ich 9 Zeichen schicke, werden 18 geantwortet. Dabei gibt es immer 8 0x00 nach dem ersten Zeichen, > dass sich einschiebt. z.B. "ABCDEFGI" wird zwar wiedergegeben, aber mit 8x 0x00 nach dem A > > Bei Zahlen, zb. 0x01 0xF4 0x00 0xF0 0x01 0x2C 0x01 0x01 0x01 dasselbe > > Jetzt kommt das Verrückte: Wenn ich am Anfang noch ein Zeichen mehr anhänge > > 0x01 0x01 0xF4 0x00 0xF0 0x01 0x2C 0x01 0x01 0x01 > > wird korrekt geparst! D.h. das erste Zeichen scheint für mem.getint verloren gegangen zu sein, ist jedoch > da, wie man am Echo des Ports feststellen kann! Das selbe ist reproduzierbar mit Text. > > Irgendwie kommt es zu einem selektiven Shift nach links. Dies erfolgt ab dem ersten Loop. Lässt sich > auch ganz einfach mit einem String testen. Z.b. indem man ihn im LCD anzeigen lässt: > > lcdext.home(); > lcdext.printlength(buffer,9); > > Das erste Zeichen wird verschluckt und der ganze String nach links geschoben. Beim Echo treten > 8 Zeichen nach dem ersten - das offenbar doch da war - auf, welche dort nicht hingehören. > > Ich habe zwei verschiedene CC2 benutzt mit zwei verschiedenen Pegelwandlern. Eine Brandneu. Beide > Aktuell. > > Hat jemand eine Idee? Workaround? >
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB