Hallo,
Optimierung ist auf -s eingestellt. Ich noch mal die i2c_start() Funktion selber geschrieben. Zwar ästhetisch nicht so schön, aber plötzlich klappts. Wobei eigentlich beide Codes genau das selbe machen. Irgendwie komsich...
Code:TWCR = 0xA4; do { twst = TWCR & 0x80; }while (twst != 0x80); twst = TWSR & 0xF8; if ( (twst != TW_START) && (twst != TW_REP_START)) return 1; TWDR = address; TWCR = 0x84; do { twst = TWCR & 0x80; }while (twst != 0x80); twst = TWSR & 0xF8; if ( (twst != TW_MT_SLA_ACK) && (twst != TW_MR_SLA_ACK) ) return 1; return 0;
Lesezeichen