Hallo,
ja so hatte ich mir das vorgestellt, dass der I2C-Master alle Daten abfragt. Da die Base ursprünglich die Sensordaten abgefragt hatte (Beispielprogramm), wollte ich das erstmal auch so lassen. Da aber der I2C-Master nun auf dem M32 läuft, musste ich das anpassen. Von der Leistung her sollte das für den M32 kein Problem darstellen.
Mein neuer Ansatz wäre jetzt, auf dem Base (Slave) alle Sensordaten zu entfernen, außer den Definitionen und dem Registeranhang, wenn dies nötig ist. Über die Funktion "void I2C_requestedDataReady(uint8_t dataRequestID)" im M32-Master sollten dann I2C Abfragekollisionen vermieden werden können. Momentan hängen 5 Slaves am I2C Bus (Base, 3x Sensor SRF08 und ein inaktiver TSL2561 Lichtsensor). Wenn die Abfragen der SRF08 Sensoren störungsfrei funktionieren, dann kommt der TSL2561 dazu. Abfragen auch über den Master.
Momentan muss ich nochmal die Ansteuerung der SRF Sensoren überarbeiten, da sei scheinbar nur messen, wenn die IR Sensoren ein Objekt detektieren. Ansonsten wird immer noch der Startwert 0 zugewiesen.


Gruß
Mac80