Gast
#3531220
Hallo Ich hätte da mal eine Verständnisfrage zu I²C. Nach dem die Startbedingung gesendet wurde, sende ich den TW_WRITE, damit ich den Slave überhaupt adressieren bzw beschreiben kann und überprüfe den TW_MT_SLA_ACK. Danach schicke ich die Slaveadresse über TWDR und überprüfe anhand DATA_ACK wieder ob die Adresse/ der Slave vorhanden ist. Anschließend schicke ich über (laut DB) --> TWDR = DATA; TWCR = (1<<TWINT)|(1<<TWEN); mein Datenpacket und danach die Stopbedingung. Nun die Frage ist, laut Beschreibung von Microkontroller.net muss TWCR bei Datenpacketübermittlung --> TWDR=DATA; TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); ist das richtig? 2. Woher weißt der Slave, dass TWDR am Anfang die Startadresse schickt und anschließend die Datenpackete? Ich habe einiges durchgelesen und hoffentlich auch richtig verstanden (dank Mikrocontroller.net). Danke.
