I2C will net beim LPC2138

OP #568280
Hallo,

seit Tagen versuche ich schon eine I2C-Verbindung zwischen einem EEPROM 
und einem LPC2138 aufzubauen, was aber nicht klappen will. Ich benutze 
die lib von Beitrag "I2C Lib für LPC2000 Controller (ARM)" . Ich habe 
das I2C zuvor mit einem AtMega32 an der Stelle 257(0x0101) mit dem 
Zeichen '5' beschrieben. Immer wenn ich versuche das EEPROM zu 
adressieren reagiert es nicht(kein ACK). Hier ist der relevante Teil des 
Codes:
1
i2c_init();
2
  while(1) 
3
  {
4
    cout<<"warte auf tastendruck..."<<endl;
5
    uart0Getch();
6
    cout<<"Start="<<i2c_start(0xA0)<<endl;
7
    
8
    cout<<"Write(1,1)="<<i2c_write(addr,2)<<endl;//schreibt die leseadresse
9
    i2c_stop();
10
    cout<<"Start="<<i2c_start(0xA1)<<endl;//start  zum lesen 
11
    cout<<"lese:"<<i2c_readlast()<<endl;
12
    i2c_stop();  
13
  }
Für alle nicht C++ler: alles, was mit '<<' an 'cout' angehängt wird, 
wird entsprechend dem Datentyp formatiert und über sie Standardausgebe 
(bei mir UART0) ausgegeben. Ist also eine Art Gegenstück zu printf.

Das EEPROM wird übrigens mit 5V betrieben, laut Datenblatt werden 
0.7Vcc, also 3.5V als high erkannt. Der LPC gibt aber max. 3.3V aus. 
Kann das der Fehler sein?

MfG Mark
Gast #568285
> Der LPC gibt aber max. 3.3V aus

Der gibt garnix aus, der zieht nur runter. I2C-üblich sind die 
Anschlüssen Open Collector und es werden externe Pullup-Widerstände 
benötigt. Und wenn die an 5V geht, sind auch die Pegel entsprechend.
OP #568287
>Der gibt garnix aus, der zieht nur runter.

Stimmt, habs irgendwie vergessen, als ich den Beitrag schrieb. Was ich 
damit meinte ist dass die Pullups die Leitungen auf max 3.3V hochziehen 
können.

MfG Mark

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 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.