Code:
int main(void)
{
DDRB = 0xFF;
PORTB = 0;
TWBR = 0x20;
TWCR = (1<<TWINT);
TWCR |= (1<<TWSTA);
TWCR |= (1<<TWEN);
char temp = 0;
while (bit_is_clear(TWCR, TWINT)){
};
temp++;
if ((TWSR & 0xF8) == START){
temp++;
}
TWDR = 0xA0;
TWCR = (1<<TWINT) | (1<<TWEN);
while (bit_is_clear(TWCR, TWINT)){
};
temp++;
if ((TWSR & 0xF8) != SLAVE_OK){
temp++;
}
else {
temp+=2;
}
for (char i = 0; i < temp; i++){
blink();
}
return 0;
}
Es blinkt trotzdem 5 mal - also war es wohl kein timeout. Danke trotzdem - wir kriegens schon noch ^^
edit: muss jetzt leider schlafen gehen
Lesezeichen