-         

Ergebnis 1 bis 4 von 4

Thema: einen 4bit und 8bit wertals 12bit Wert verarbeiten

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    17.11.2005
    Beiträge
    272

    einen 4bit und 8bit wertals 12bit Wert verarbeiten

    Anzeige

    Hallo,

    ich lese einen 12bit AD-Wandler mittel I2C Bus aus. Das funzt prächtig. Geht von 0 - 4096.

    Die Werte werden aber in zwei Arbeitsschritten abgeholt und sind jeweils 8bit lang.

    Einmal bekomme ich Steuerbits (y, sind immer gleich) und die oberen Werte (x) und dann extra nochmal die unteren Werte (x).

    Also yyyyxxxx und xxxxxxxx

    Jetzt will ich von dem ersten Byte die letzten 4 stellen nehmen und das mit dem zweiten zusammmen rechnen und die zahl zum rechnen nehmen.

    ich habe das mit der umwandlung in eine string versuch und die letzten stellen wollte ich zum weiterrechnen benutzen. habe das aber nicht hinbekommen. irgendwie hätte ich jabeide zahlen in einen string umwandeln müssen. das rechnen geht aber mit strings nicht.

    als zweites habe ich das mit dem & versucht. also 00001111 und yyyyxxxx ergeben ja die letzen 4 stellen. damit hätte ich ne normale zahl mit xer ich die andere adddieren kann. Aber irgendwie habe ich es so auch nicht hinbekommen.

    zur zeit gebe ich die zahlen einzeln per RS232 aus und rechne die in nem kleinen delphi perogrammm aus und gebe den großen wert wiedder zurück. aber das uss doch auch kleiner und leichter im Atmega gehen.

    Habt ihr ne Idee wie ich die Zahlen zusammen bekommme? Habe schon im Netz und im Forum gesucht, aber habe nichts passendes gefunden.

    thx for help

    Arno
    Unser Wissen ist ein Tropfen, unser Unwissen ist wie ein Ozean.
    Sir Isaac Newton

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Schau dir mal
    varn = MAKEINT(LSB , MSB)
    an

    Gruß

    Rolf

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    09.05.2007
    Beiträge
    202
    Hallo Arno,

    du könntest die Variablen auch mit der Option "Overlay" definieren. Schau dir dazu mal die Bascom-Hilfe zu "Dim" an.
    Gruß, Stefan

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von Hessibaby
    Registriert seit
    20.11.2003
    Ort
    Gelsenkirchen
    Alter
    65
    Beiträge
    1.597
    Beide Bytes addieren und die 4 oberen vom MSB subtraieren.
    Alternativ das LSB in Nibbel zerlegen und mit dem unteren Nibble des MSB addieren.

    Planung ersetzt Zufall durch Irrtum

    Gruß aus dem Ruhrgebiet Hartmut

Berechtigungen

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