Hallo, ich versuche hier gerade, eine möglichst flexible I2C-Implementierung aufzustellen. Nach Einlesen in die I2C-Hardware meines Controllers bin ich mir jedoch nicht mehr so sicher, was die Flexibilität angeht :( Mein konkretes Problem bezieht auf die verschiedenen Teilnehmer und deren Ansteuerung. Bei EEPROMs beispielsweise schreibt man ja die Adresse, und liest dann mittels RepeatedStart aus. Dann gibts Teilnehmer, die nur empfangen und nicht antworten können, oder Teilnehmer, bei denen nach mehreren Bytes eine aus mehreren Bytes bestehende Antwort erwartet werden kann. Und so weiter... Wie sieht nun so eine Implementierung aus? Normalerweise würde ich einen Empfangs- und einen Sendebuffer verwenden. Bei nur einem Slave-Teilnehmer ist das ganze ja dann noch überschaubar, aber bei mehreren unterschiedlichen oder sogar bei Multimasterbetrieb? Da fällt mir als einziges eigentlich nur ein, mit diversen Flags zu arbeiten, die signalisieren, wie es "weitergeht". Ralf
Hi Bernd,
> Ja ! So ist es !
Das bezieht sich dann wohl auf die Flag-Signalisierung, nehme ich an :)
Okay, mal sehen, was ich hinbekomme...
Ralf
state-machine für alle spezifizierten I2C-Zustände und dann jeden I2C-Teilnehmer nach seinen Bedürfnissen (=Spezifikationen) bedienen. flexibler dürfte es nicht gehen.
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.