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

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
Ich nutze:
C-Control II Station, OSOPT_V2, OSOPT V3.0
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)