Timm schrieb:
> Da mache ich nur ne Überprüfung ob die bits gesetzt sind.
Nö.
Das machst du nicht. Du möchtest das vielleicht machen, tust du aber
nicht.
Hinweis: ein Komma-Operator hat in den wenigsten Fällen im Code was
verloren. Es gibt nur ganz wenige, spezielle Fälle, an denen ein
Komma-Operator sinnvoll ist. Und selbst die sind meistens so, dass man
sagen könnte: na ja, das wär ohne Komma-Operator auch gegangen - der
Kommaoperator hätte in erster Linie nie in C aufgenommen werden sollen,
der ist den Ärger einfach nicht wert.
Das hier
ist auf jeden Fall keine Bit-Abfrage. Das testet eigentlich nur, ob die
Konstante TWINT ungleich 0 ist. Die Chancen dafür stehen recht hoch,
denn wenn ich mich recht erinnere ist TWINT nicht das Bit 0 im Register.
> while(1)
> {
> I2C_master();
> }
> }
Schön.
2 Fragen:
wozu die Endlosschleife in I2C_master, wenn doch hier sowieso wieder
eine drüber liegt.
Wenn du sagst
> dass der Master sobald er ein Slave gesehen hat die daten sendet
> aber den zweiten Slave garnicht anspricht.
wie soll das in deinem Code gehen? Ich sehe nirgends in deinem Code
irgendeine Code Stelle, die mir sagen würde: Aha, jetzt geht es an den
anderen Slave.
Wenn ich es nicht besser wüsste, würde ich sagen: Jemand hat dir den
Code für einen Slave geschrieben und jetzt änderst du auf gut Glück, in
der Hoffnung, dass der zweite Slave auch irgendwie aktiv wird.