Hallo, im AVR-Datenblatt steht: ---------------------- arbitration is not allowed between: - A REPEATED START condition and a data bit - A STOP condition and a data bit - A REPEATED START and a STOP condition It is the user software’s responsibility to ensure that these illegal arbitration conditions never occur. This implies that in multi-master systems, all data transfers must use the same composition of SLA+R/W and data packets. In other words: All transmissions must contain the same number of data packets, otherwise the result of the arbitration is undefined. ---------------------- Wenn ich garantieren kann, dass der Anfang des Datenpackets für jeden Master verschieden ist (indem ich einfach als erstes die Adresse des Masters sende), dann findet Arbitrierung doch immer zwischen Datenbits (wenn nicht schon beim Empfänger-Adresspacket) statt. Warum steht dann da "This implies... All transmissions must contain the same number of data packets"?
Hallo, nachdem hier keine Antwort kam, hab ich bei atmel nachgefragt. Falls jemand später das Forum durchsucht und es auch wissen will, hier die wichtigsten Auszüge aus der Antwort: "...I think that the statement about number of data packets in the datasheet is a bit simplified..." "...Since you can guarantee this within the first data packet, I see no problem..." Sebastian P.S.: Lob für atmel: Der email support funktioniert!
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.