Hallo
Ich werde bald mal das fertig zusammengestellte rn-motor board anschliessen.
Nur weiss ich nicht Recht wie die I2C - Kommunkation ausschaut. Bild hier
Ich denke eine Funktion die die Daten sendet sollte ungefähr so ausschauen:
Das Problem ist, dass ich nicht weiss, welche Werte ich den Variablen START, MT_SLA_ACK, MT_DATA_ACK zuweisen soll.Code:void send_I2C_Data(char cData) { TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); while (!(TWCR & (1<<TWINT))) ; if ((TWSR & 0xF8) != START) error(); TWDR = SLA_W; TWCR = (1<<TWINT) | (1<<TWEN); while (!(TWCR & (1<<TWINT))) ; if ((TWSR & 0xF8) != MT_SLA_ACK) error(); TWDR = cData; TWCR = (1<<TWINT) | (1<<TWEN); while (!(TWCR & (1<<TWINT))) ; if ((TWSR & 0xF8) != MT_DATA_ACK) error(); TWCR = (1<<TWINT)|(1<<TWEN)|(1<<TWSTO); }
Ist es richtig, dass sich diese Unterscheiden, falls man sich im 'Master Transmitter Mode' oder 'Master Receiver Mode' befindet?








Zitieren

Lesezeichen