Ankündigung

Einklappen
Keine Ankündigung bisher.

3 Byte Werte empfangen und wandeln

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    HS/FS 3 Byte Werte empfangen und wandeln

    Hallo Jungs,

    ich brauche eure Hilfe: ich möchte einen UDP Datenstream einlesen und die einzelnen Blöcke im FS zur Anzeige bringen. Der serielle Stream wird alle 2 sec auf den UDP Port gesendet und ich empfange die einzelnen Datenblöcke. Das Problem dabei ist, nach zwei 1 Byte Werten und weiteren zwei 2 Byte werten kommen zwei 3 Byte Werte daher, wobei das niederwertigste Byte zuerst gesendet wird. Wie kann ich 3 Byte Werte aus eine Datenblock einem Objekt zuweisen um es weiter zu verarbeiten ?

    Danke & Grüße tim

    #2
    Sind die 3-Byte ein Wert, oder mehrere? Hast Du eventuell mal ein Beispiel?


    Sent from my iPhone using Tapatalk

    Kommentar


      #3
      3 Byte Werte

      Der Stream sieht am UDP Port zB so aus:

      FF FF 00 00 00 00 C8 68 00 18 6D 00

      im Klartext :

      2 Byte - 0xff,0xff (=255,255 zur internen Kontrolle der Übertragung)
      2 Byte - Wert 1 ( = ist gerade 0)
      2 Byte - Wert 2 (= 0)

      3 Byte - Wert 3 ( = 26824)
      3 Byte - Wert 4 (= 27928)

      Ich müsste die einzelnen Bytes einlesen und dann im FS zusammensetzen können weil das niederwertigste Byte wird stets zuerst übertragen., aber wie ?

      Kommentar


        #4
        hab die Lösung gefunden....

        Die Lösung lautet: Jedes Byte einzeln einem 0-255 Objekt zuweisen und anschliessend im Hexa System der Rangordnung entsprechend multiplizieren, dann die Quersumme addieren.

        Beispiel:

        der 3 Byte Wert wird in 3 x 8Bit Binärblöcke geteilt und drei getrennten 0-255 Objekten zugewiesen, anschliessend stellenrichtig den Wert der ersten Stelle (ganz links) mit 65536, zweite Stelle mit 256 und letzte Stelle mit 1 multiplizieren, Quersumme bilden , fertig.

        Grüße, tim

        Kommentar

        Lädt...
        X