Forum: Compiler & IDEs MCP3428 auslesen


von Philipp P. (Gast)


Lesenswert?

Hallo und frohe Weihnachten:)


Habe hier einen MCP3428 der mir immer die selben Werte sendet.


1
 
2
                                // Beide Adresspins des MCP auf +5V
3
                                //1101110
4
#define MCP_Write  0xDC    //Adresse MCP ADC schreiben
5
#define MCP_Read   0xDD    //Adresse MCP ADC lesen
6
7
void MCP_Kanal_1_Read()
8
{
9
10
  i2c_start(MCP_Read);    
11
  messwerte[17] = i2c_readAck;      //Byte 0 lesen
12
  messwerte[18] = i2c_readNak;      //Byte 1 lesen
13
  i2c_stop;
14
}
15
16
void MCP_Kanal1_init()
17
{
18
  i2c_start(MCP_Write);      
19
  i2c_write(16);  //Gain0, 12Bits, Kanal1, Rdybit0
20
  i2c_stop;
21
22
}


Die beiden Messwerte schick ich alle 10 Sekunden an den PC und möchte 
diese dort weiterverarbeiten. Allerdings ändert sich der Wert von 14639 
nicht. Egal welchen Kanal ich wähle... (oder die Spannung vom Eingang 
wegnehme.)
An Kanal1+ liegen ca. 1,47V an Kanal1- ist auf GND.
Was mache ich falsch?


MfG Philipp P.

von Klaus (Gast)


Lesenswert?

Schon mal überprüft, ob der MCP überhaupt mit ACK antwortet? IMHO 
liefert i2c_start() den ACK-Status zurück, warum wohl?

MfG Klaus

von nga (Gast)


Lesenswert?

Fehlen da nicht noch n paar ( und )
Ich glaub nicht dass das so fehlerfrei durchläuft. Ist das das orginal 
Programm?

von Philipp P. (Gast)


Lesenswert?

Hallo
1
i2c_start(MCP_Read);    
2
  messwerte[17] = i2c_readAck;      //Byte 0 lesen
3
  messwerte[18] = i2c_readNak;      //Byte 1 lesen
4
  i2c_stop;
1
i2c_start(MCP_Read);    
2
  messwerte[17] = i2c_readAck();      //Byte 0 lesen
3
  messwerte[18] = i2c_readNak();      //Byte 1 lesen
4
  i2c_stop;

Danke nga... mit () gehts.. grad erst aufgefallen.
Vielen Dank und schöne Feiertage wünsch ich euch noch ;)

MfG Philipp P.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.