Re: Mal wieder hwcom... Kategorie: Programmierung (von Tom - 11.04.2004 10:54) | ||
Als Antwort auf Mal wieder hwcom... von Johannes - 9.04.2004 18:53 | ||
| ||
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 | ||
Antwort schreiben Antworten: Re: Mal wieder hwcom... (von Johannes - 12.04.2004 11:10) Re: Mal wieder hwcom... (von Tom - 13.04.2004 8:38) Re: Mal wieder hwcom... (von Johannes - 13.04.2004 12:27) Re: Mal wieder hwcom... (von Tom - 13.04.2004 13:22) Re: Mal wieder hwcom... (von Johannes - 13.04.2004 17:12) Re: Mal wieder hwcom... (von Tom - 13.04.2004 22:59) Re: Mal wieder hwcom... (von Johannes - 14.04.2004 20:02) Re: Mal wieder hwcom... (von Tom - 15.04.2004 11:23) Re: Mal wieder hwcom... (von Johannes - 15.04.2004 12:41) Ich glaube ich habs jetzt endlich... (von Johannes - 17.04.2004 12:09) |