Hallo zusammen, ich quäle mich seit geraumer Zeit mit folgendem Problem: Ich möchte über einen I²C-Bus zwischen zwei Fujitsu MB91F364 Daten austauschen. Ich nenne Sie hier einfach mal µC-L und µC-R. Also, von L nach R sollen 9 Bytes mit ca 200Hz geschickt werden. In die andere Richtung, also von R nach L, sollen 5 Bytes mit 1KHz geschickt werden. Mit auf dem Bus liegt noch ein EEprom, das natürlich nur gelegentlich gelesen oder beschrieben werden soll. Dafür aber von beiden Controllern. Die Kommunikation von den beiden µCs aus auf das EEprom klappt auch ganz gut, da beide Controller im Mastermode laufen. Nun zu meinem Problem. Um die Kommunikation zwischen den beiden µC herzustellen sollen beide außerhalb des Sendezyklus Slave sein. Dazu müssen Addressregister gesetzt werden, Maskenregister gesetzt werden, ein IRQ freigeschaltet werden und letztendlich auch eine IRQ-Routine geschrieben werden, die bei Emfang von Daten abgearbeitet wird. Und genau da wird es schwierig. Sobald ich auf dem ersten Controller diese Interuptroutine freischalte, hier ist das das Register IBCR2_INTE, und im Mastermode Daten schicke, hört sich der Controller offenbar selbst, und die Interruptroutine wird aufgerufen. Und das nicht nur einmal, sonder laufend. Außerdem sehe ich auf dem anderen Controller in der gleichen Frequenz Daten reinkommen. Ich weiß echt nicht mehr weiter... irgendwas fehlt, oder ich sehe was nicht. Hat einer von euch schonmal was ähnliches gemacht? Vielen Dank im Voraus, Boris
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.