Maxim ADC antwortet nicht über I²C

Gast #915566
Lesenswert?
• ▲
▼
Hallo,

ich bekomme meinen MAX1138 nicht zum Laufen. 
(http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3270/t/al)
Ich habe einen ATmega2560 und nutze die I²C-Library von Peter Fleury. 
(http://www.jump.to/fleury)

Mein CMPS03-Kompass funktioniert über I²C auch problemlos, aber sobald 
ich etwas an das IC schreiben will, bleibt er in der while hängen:

unsigned char i2c_write(unsigned char data)
{
   uint8_t twst;

   /* send data to the previously addressed device */
   TWDR = data;
   TWCR = (1 << TWINT) | (1 << TWEN);

   /* wait until transmission completed */
   while(!(TWCR & (1 << TWINT)));      // <-----------------------------

   /* check value of TWI Status Register. Mask prescaler bits */
   twst = TW_STATUS & 0xF8;
   if(twst != TW_MT_DATA_ACK) return 1;
   return 0;
}    /* i2c_write */


Ich habe schon andere Pull-Ups und eine andere Frequenz versucht, aber 
es hilft alles nichts.

Ich bin noch ein Einsteiger und ärgere mich mit dem Teil schon seit ein 
paar Wochen rum.
Ich bin für jede Hilfe dankbar.

Gruß Jonas

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