- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 8 von 8

Thema: Wert auf drei Byte's aufteilen

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.01.2006
    Ort
    Nidda
    Alter
    51
    Beiträge
    180

    Wert auf drei Byte's aufteilen

    Anzeige

    Powerstation Test
    Hallo,

    ich messe eine Temperatur und möchte diese seriell in drei Bytes übertragen.
    Da die Temperatur im Messbereich von -30 bis +70 liegt, sollte dies eigentlich problemlos machbar sein.

    Ein Wert von -28,05 soll z.B. Byte1(001), Byte2(02, Byte3(050) aufgeteilt werden wobei ich im ersten Byte nur zwischen + und - unterscheiden muss.

    Kann mir jemand sagen wie ich den Zahlenwert aufteilen kann?
    Oder hat vielleicht jemand eine Idee wie es anders zu machen ist?

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.09.2005
    Beiträge
    276
    Warum nimmst Du nicht

    Wert = (Temperatur + 30) x 100


    das sind im Hexbereich 00 00 00 bis 00 27 10 und es würden sogar 2 Byte reichen.

    Gento

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.01.2006
    Ort
    Nidda
    Alter
    51
    Beiträge
    180
    Die Berechnung ist o.k.
    So komme ich aus dem negativen Bereich raus.
    So ist der Wertebereich von 0 bis 10000.

    Und wie gehts jetzt weiter?
    Ich kann als Byte doch nur Werte zwischen 0 und 255 übertragen!

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.09.2005
    Beiträge
    276
    *Kratz mich*

    in Delphi und Bascom ?

    Hoherwert = temperatur Div 255
    Tieferwert = temperatur Mod 255 = Rest

    Sonst greif auf jeden in Bascom schieben rechts und links in Verbindung einander.

    Ich müßte mal genauer nachsehen , z.Z. aber keine Zeit

    Gento

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    So ist der Wertebereich von 0 bis 10000. Und wie gehts jetzt weiter?
    Da reichen dann also sogar 2 Bytes für die Übertragung aus.
    Fürs Übertragen gibt es verschiedene Möglichkeiten, z.B.:
    Dim Db1 As Byte
    Dim Db2 As Byte
    Dim Messwert As Integer At Db1 Overlay
    Messwert = 10000
    'Sende Db1
    'Sende Db2

    Gruß Dirk

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.01.2006
    Ort
    Nidda
    Alter
    51
    Beiträge
    180
    das verstehe ich noch immer nicht,

    meld dich einfach noch mal wenn du mehr Zeit hast

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.09.2005
    Beiträge
    276
    Zeig doch mal den Code vom Einlesen :

    Da die Temperatur im Messbereich von -30 bis +70 liegt, sollte dies eigentlich problemlos machbar sein.

    In was für Variablen Du die Temperatur Werte Speicherst.

    Gento

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.01.2006
    Ort
    Nidda
    Alter
    51
    Beiträge
    180
    Sorry,

    hatte den Beitrag von Dirk gar nicht gesehen.
    Jetzt ist es klar!

    Danka an euch beide

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress