seventh_son
12.06.2007, 15:17
Hallo,
ich möchte ein I2C-Display mit einem Atmega128 ansteuern. Nachdem unter Benutzung der Procyon AVRlib sich aber nichts am Display tat, habe ich mich zunächst mal darauf konzentriert, den TWI unter die Lupe zu nehmen.
Ich habe ein Oszi an SCL angeschlossen und einfach mal vom Controller eine Startbedingung generieren lassen:
int main (void)
{
_delay_ms(300);
TWSR = 0;/* no prescaler */
TWBR = 72;//((F_CPU/100000)-16)/2;
TWCR=4;//(1<<TWEN);
TWCR=(1<<TWSTA);
while(1);
return 0;
}
Normalerweise müßte SDA ja jetzt auf 0 gezogen werden und an SCL müßte ein Takt anliegen. Beides ist aber nicht der Fall.
Habe ich noch irgendeine Einstellung (Register, etc.) vergessen? Was könnte sonst der Grund sein?
Gruß
seventh_son
ich möchte ein I2C-Display mit einem Atmega128 ansteuern. Nachdem unter Benutzung der Procyon AVRlib sich aber nichts am Display tat, habe ich mich zunächst mal darauf konzentriert, den TWI unter die Lupe zu nehmen.
Ich habe ein Oszi an SCL angeschlossen und einfach mal vom Controller eine Startbedingung generieren lassen:
int main (void)
{
_delay_ms(300);
TWSR = 0;/* no prescaler */
TWBR = 72;//((F_CPU/100000)-16)/2;
TWCR=4;//(1<<TWEN);
TWCR=(1<<TWSTA);
while(1);
return 0;
}
Normalerweise müßte SDA ja jetzt auf 0 gezogen werden und an SCL müßte ein Takt anliegen. Beides ist aber nicht der Fall.
Habe ich noch irgendeine Einstellung (Register, etc.) vergessen? Was könnte sonst der Grund sein?
Gruß
seventh_son