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 Johannes, > > das Problem ist eigentlich immer das gleiche. Bei Kommunikationen, gleich welcher Art, sollte > man immer ein Protokoll benutzen, um die beiden Partner zu sychronisieren, denn wie soll der > jeweilige Empfänger wissen, wann ein neues Packet losgeht, bzw. zu Ende ist (auch bei fester > Packetlänge). Vereinbare also einen kleinen Protokollrahmen der wie folgt assehen könnte: > > 1. Byte Startzeichen welches ein Zeichen sein sollte, welches in den "normalen" Daten nicht > vorkommt. (z.B 02 Hex ) > > x. Byte Datenkennung ( das der Empfänger weiß welche daten kommen) > > 1. Byte welches die Länge der Daten in Bytes enthält.(sollten es mehr wie 255 Byte sein dann > einfach 2 Byte) > > x. Byte die eigentlichen Daten > > Endekennung z.B. CR LF ( 0D 0A Hex) > > mitdiesem sehr einfachen Protokollrahmen kannst Du dann Daten in flexibler Länge und mit > felxiblem Inhalt (Datenkennung) recht sicher übertragen. Man kann das Ganze noch um eine > Checksumme oder auch durch Zurücksenden der empfangenen Daten (Echo) erweitern um > 100 % ige Übertragungssicherheit zu erziehlen. > > mfg Tom > > > > Moin, > > ich habe einen ganz einfachen Code. Er empfängt von der seriellen Schnittstelle Packete mit der Länge > > 52 Bytes, die ich von einem VB-Programm sende. Allerdings kommen beim Empfänger nur einzelne > > Stücke an. Kann mir jemand sagen, woran das liegt? > > > > > > thread main { > > lcdext.init(); > > hwcom.init(); > > hwcom.setspeed(8); > > loop { > > byte Buf[52]; > > int a; > > for a=0...51 { > > Buf[a] = 0; } > > int returnval; > > returnval = hwcom.receive(Buf, 52, 50); > > string tst; > > tst = ""; > > for a=0...10 { > > str.putchar(tst, Buf[a]); } > > if returnval > 1 { > > lcdext.clear(); > > lcdext.print(tst); } > > } > > } > > > > Gruß > > Johannes
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB