2 Atmega8Boards per TWI I²C-Bus

Ich und zwei Schulkollegen versuchen zwei ATmega8-Controllerboards mittels TWI(I²C-Bus) zu verbinden und jeweils als Master/Slave im Transmitter- bzw. Receiverbetrieb zu benutzen.
[I] Bisher klappte es nur in einer Richtung (MT SR bzw. MR ST). Kann uns jemand ggf. eine kleine Hilfestellung geben?
[II] Bislang funktioniert es nur mit einem Slave. Einen zusätzlicher Slaveboard bzw. veränderte Slave-Adresse schlug fehl. Vielleicht hat dahingehend jemand auch eine geistreiche Inspiration für uns?!?
Ich danke schonmal im voraus!

MFG Ho

Hallo,

kann ja viele Ursachen haben …

Wie sieht es denn mit den Pull-Up-Widerständen aus?

Umfangreiche Infos findet ihr in Abschnitt 21.2 in folgedem kleinen Dokument:

http://www.atmel.com/dyn/resources/prod_documents/do…

Hier noch ein kleines Code Beispiel:

#define REGISTER_INPUT (0)

int gpio_read(int address) {
int data = 0;

// Send input register address
Wire.beginTransmission(address);
Wire.send(REGISTER_INPUT);
Wire.endTransmission();

// Connect to device and request two bytes
Wire.beginTransmission(address);
Wire.requestFrom(address, 2);

if (Wire.available()) {
data = Wire.receive();
}
if (Wire.available()) {
data |= Wire.receive()

aus

http://www.neufeld.newton.ks.us/electronics/?p=241

Unter den Stichworten „arduino i2c“ findest ihr im Netz viele Beiträge, aus denen ihr sicher das eine oder für euer Projekt übernehmen könntet.

mfg

tf