Forum: Compiler & IDEs MCP3428 auslesen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.