Inzwishen weis ich warum mein alter Code nicht ging.
Ich hab die Slaveaddresse definiert:
uint8_t SlvAdd = 0xFD;
und später das WriteBit dazugeodert:
TWDR = SlvAdd | _BV(TW_WRITE);
Aus mir noch immer unbekannten Gründen kommt da was Falsches raus, es geht mit:
TWDR = SlvAdd + _BV(TW_WRITE);
Ist eigentlich identisch ... oder ?
ciao .. bernd