-
        

Ergebnis 1 bis 6 von 6

Thema: einzellen Daten aus Arry herauslösen

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    43
    Beiträge
    379

    einzellen Daten aus Arry herauslösen

    Anzeige

    Hallo,

    ich habe ein Array mit 5 Bytes, die ersten 4 Bytes will ich mit Overlay maskieren, weil diese einen Singlewert beinhalten. Das 5. will ich normal weiternutzen.
    1. was muss ich machen um die 5.Stelle an die 1. zu bekommen
    2. wie kann ich bei einem Array an einer bestimmten Stelle ein Overlay legen?

    Bsp.
    Temp2 = Twi_slv_buff(temp) => darin liegen jetzt 6 byte
    Zbuff_1(temp) = Temp2 => in Zbuff_1 sollen jetzt nur die ersten 4 bytes, wie geht das zu bewerkstelligen?

    Gruß MAT

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Ehrlich gesagt, verstehe ich deine Angaben noch nicht ganz.
    Zeige doch mal, wie die Dim Zeilen zu Temp2, Twi_slv_buff und Zbuff_1 aussehen. Dann kann man dir sagen, was die Zuweisungen bewirken, bzw. diese so umändern, wie du es möchtest.

    Gruß

    Rolf

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    43
    Beiträge
    379
    Hallo Rolf,

    hab es inzwischen gelöst.
    Aber näher zur Beschreibung:
    ich empfange über TWI 5 Bytes die dann in Twi_slv_buff(temp) stehen:
    Byte1-4 ist ein Singlewert, 5 ist ein Byte.
    Ich sende: Byte 1-4 ein Singlewert und lege dann im Empfänger ein Variable Zbuff_1(temp) über Twi_slv_buff(temp) und kann dann mit:
    Dim Zbuff_1(4) As Byte At Tout Overlay
    Locate 2 , 1
    Lcd "Temp3=" ; Fusing(tout , "#.##") ; "C" die Kommazahl anzeigen lassen.
    Das 5. Byte wollt ich als eine Art Subadresse auslesen, um dann sagen zu können woher der Singlewert kommt, also von einem DS1820 oder einer Fotocelle.
    Nun hab ich mal probiert ob dies geht:
    Select Case Twi_slv_buff(5) ' es wird in Twi_slv_buff byte 5 nachgeschaut, ob diese Byte auch eine 3 drin steht
    Case 3 : Locate 1 , 1
    Lcd "es klappt"
    Case 23 : Locate 1 , 1
    Lcd "es hat nicht geklappt"
    End Select
    und es geht.

    Aber mich würde noch interessieren ob und wie ich ein overlay zum Beispiel in meinem Beispiel über Byte 2-5 legen könnte?

    Gruß MAT

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Hallo MAT,
    du kannst ein Overlay auch relativ zu einer Adresse anfangen. Z.B. mit

    Dim Arr(5) As Byte
    Dim Var1(4) As Byte At Arr + 1 Overlay oder mit
    Dim Var1(4) As Byte At Arr(2) Overlay

    Gruß

    Rolf

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    43
    Beiträge
    379
    Ich sag nur => DANKE!

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    15.08.2004
    Ort
    Graz
    Beiträge
    342
    und
    Dim SingleVar as Single At Arr(1) Overlay
    geht natürlich auch

Berechtigungen

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