gesucht habe ich natürlich schon. doch noch nichts befridigendes gefunden.
Das Problem ist, dass mein Code auf dem Mega32 zu funktionieren scheint, auf dem Mega8 jedoch nicht. Wenn ich jedoch das Manuel von den Beiden vergleiche finde ich keine nennenswerte unterschiede.
Konkret sieht das so aus:
Code:
int main(void){
b_setH(LED_DDR,LED_0);
b_setH(LED_DDR,LED_1);
b_setL(LED_PORT,LED_0);
b_setL(LED_PORT,LED_1);
TWBR=38; //50kHz / f_cpu=16MHz
b_setH(TWCR,TWIE);
cli();
TWCR=(1<<TWINT)|(1<<TWSTA)|(1<<TWEN)|(1<<TWIE);
while(!(TWCR&(1<<TWINT)));
b_setH(LED_PORT,LED_0);
return 0;
}
// interrupt routines ----------------------------------------------------------
ISR(TWI_vect){
b_setH(LED_PORT,LED_1);
}
Eigentlich sollten doch beide LEDs erlöschen. Das tun sie beim Mega8 jedoch nicht, beim Mega32 schon.
Danke für eure Hilfe.
Grüsse cumi
Lesezeichen