Gast
#915566
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