Auslesen MCP4821

Gast #6624296
Lesenswert?

Hallo zusammen,

ich komm leider nicht weiter beim korrekten Auslesen des MCP4821 
AD-Wandlers.
Ich würde den Chip gerne mit 12-bit Auflösung auslesen.
Die einzelnen Bytes ergeben sinnvolle Werte bei der Ausgabe, also 
zumindest data.upper und data.middle ändern sich in Abhängigkeit der 
angelegten Spannung. Aber bei der Berechnung von voltage kommen sehr 
konmische Werte raus.
Anscheinend sind die ausgelesenen Bytes noch zu maskieren, sie 
Ausschnitt aus den Datenblatt anbei. Aber die korrekte Anwendung gelingt 
mir leider nicht.

Hat vielleicht jmd. Erfahrungen damit?

Danke schon mal
Michael
1
do
2
    {
3
        i2c_start();
4
        i2c_write(deviceAddressRead);
5
    
6
        data.upper = i2c_read(1);
7
        data.middle = i2c_read(1);
8
        data.lower = i2c_read(1);
9
        configuration.byte = i2c_read(0);
10
    
11
        i2c_stop();
12
    }
13
    while (configuration.ReadyBit == MCP3421_VALUE_IS_NOT_UPDATED);
14
  
15

16
  voltage  =  data.upper*65536 + data.middle*256 + data.lower;
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren