I2C und Drucksensor (Lib Peter Fleury)

Gast #1886175
Hallo,
ich habe ein Grundlegendes Verständnisproblem.

Ich habe einen Drucksenor welcher laut Datenblatt:
>send 2 data bytes containing the current pressure value as a 15 bit
>information placed in their output registers.

Soweit so gut. Die Slave Adresse ist 1111000xb, also
>#define SENSOR  0x78

Mein Code sieht wie folgt aus, um den Slave Sensor mit meinem Atmega 128 
auszulesen.
1
  uint8_t byte1;
2
    uint8_t byte2;
3

4
    if(!(i2c_start(SQ277+I2C_READ))) //Slave bereit zum lesen?
5
    {
6
      byte1 = i2c_readAck();                   
7
      byte2 = i2c_readNak(); 
8
      i2c_stop();
9
    }else{
10
      //Errormeldung
11
    }
So um den Sensor jetzt nutzen richtig auslesen zu können, brauche ich 
sein Ergebnis als HEX oder Dezimalzahl. Die Ausgabewerte schwanken lt 
Datenblatt zwischen 0666 und 6CCC Hexadezimal.

Ich nehme an, dass der Code so richtig ist, und die Libary von Peter 
Fleury funktioniert. Leider bin ich nicht wirklich firm mit den Bit und 
Bytehandling in C.

Kann mir jemand einen Tipp geben, wie ich die Werte bekomme. Wenn ich 
den Wert mal als INT habe, komme ich weiter.

Danke schonmal.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.