Eigentlich wollte ich ohne eine fremde Bibliothek auskommen. Da zu einem mir eigentlich die Sache klar und logisch schein, sowohl als in eueren Wikis, als auch in meine Büchern.
Werde mir aber dennoch mal die Bib. zu gemüte führen, vielleicht werde ich dort schlauer.
EDIT (20:54):
Ich habe nun den Code von Fleury und mir vergliechen:
hier der Code zum Schreiben von Fleury:Code: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 */
und hier mein Code:Der einzigste unterschied, dass Fleury den Status noch als Rückgabewert benutz, um zu signaliesieren, dass eine Übertragung erfolgreich war, oder nicht.Code:TWDR=0x14; // Zielregister laden TWCR|=(1<<TWINT)|(1<<TWEN); // Zielreigster ansprechen while(!(TWCR&(1<<TWINT)));







Zitieren

Lesezeichen