nach meinen Startschwierigkeiten komme ich jetzt sehr gut voran mit (hardware) i2c auf dem Mega328P. Eine Frage ist noch aufgetaucht: Wenn ich ein STOP generiere am Ende der Übertragung, wird ja kein Interrupt ausgelöst / das TWINT bit nicht gesetzt. (Siehe Datenblatt Seite 215) Heißt das, ich kann direkt danach ein neues START generieren, und die Hardware wartet ggf. so lange, bis das STOP fertig ist? Oder ist das nicht zulässig? also direkt hintereinander TWCR = &B10010100 'STOP TWCR = &B10100101 'START (dann auf Interrupt warten)
TWSTO ist dein Freund, und hilft dir da weiter. Zudem fordert die Busdefinition eine definierte Minimalzeit zwischen Stop und Start, tBUF. Steht im Datenblatt. Oliver
Hi >Eine Frage ist noch aufgetaucht: Wenn ich ein STOP generiere am Ende der >Übertragung, wird ja kein Interrupt ausgelöst / das TWINT bit nicht >gesetzt. Wenn du sicher sein willst, kannst TWSTO in TWCR abfragen. Das wird nach gesendetem STOP zurückgesetzt. MfG Spess
i2c twi schrieb: > Heißt das, ich kann direkt danach ein neues START generieren, und die > Hardware wartet ggf. so lange, bis das STOP fertig ist? Oder ist das > nicht zulässig? Wenn du ein Start initiierst wird automatisch gewartet bist der Bus frei ist. "The TWI hardware checks if the bus is available, and generates a START condition on the bus if it is free. However, if the bus is not free, the TWI waits until a STOP condition is detected, and then generates a new START condition to claim the bus Master status"
spess53 schrieb: > Wenn du sicher sein willst, kannst TWSTO in TWCR abfragen. Das wird nach > gesendetem STOP zurückgesetzt. Ok, verstanden. Bis jetzt hab ich es immer nur gesetzt und nie gelesen. Dominik B. schrieb: > Wenn du ein Start initiierst wird automatisch gewartet bist der Bus frei > ist. Cool, da muss ich mich bei einem Bus mit nur einem Master (mein Mega328P) und einem Slave gar nicht drum kümmern. Das gefällt mir am Besten.. :-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.