I2C Klasse für ATmega64

OP #3744519
Lesenswert?

Hallo,

Ich habe in der Schule diese Klasse für die Verwendung von I2C mit dem 
ATmega16 erhalten. Nun programmiere ich auf den ATmega64 und suche 
momentan den Fehler in meinen Programm und nachdem das Programm auf dem 
ATmega16 perfekt funktioniert hat und auf dem ATmega64 nicht, bin ich 
auf den Schluss gekommen, dass es vielleicht an der I2C Klasse liegen 
könnte.

Weiß jemand ob ich da was ändern muss wenn ich die gleiche I2C Klasse 
verwende???

Danke für eure Hilfe
Angehängte Dateien:
(Firma: Vescomp) #3745014
Lesenswert?

Marcel D. V. schrieb:
> Weiß jemand ob ich da was ändern muss wenn ich die gleiche I2C Klasse
> verwende???

 Fuse in MEGA64 richtig gesetzt ?
 Die Library ist auf 12MHz eingestellt.
 Wenn deine MEGA64 mit 2MHz oder weniger lauft, funktioniert es mit
 Sicherheit nicht, bei 4MHz sollte es noch gehen.
 Hardwaremassig ist I2C Teil bei beiden MEGAs gleich, wenn es auf
 M16 funktionert hat, muss es auch auf M64 gehen.
 Bleibt nur noch der Quartz als Ursache.
 Kann es sein, dass die neue MEGA64 auf internes RC Oszillator
 gefust ist ?

 Wenn du aber die CKSEL bits richtig gesetzt hast und einen
 Externen Quartz mit 12MHz hast, dann bin ich mit meinem Latein
 am Ende.
Gast #3745097
Lesenswert?

Hi

>Hardwaremassig ist I2C Teil bei beiden MEGAs gleich, wenn es auf
>M16 funktionert hat, muss es auch auf M64 gehen.

Wenn die M103-Fuse (ATmega103 compatibility mode) gesetzt ist dann 
besitzt der ATMega64 gar kein TWI.

MfG Spess
OP #3745977
Lesenswert?

Auf dem ATmega16 habe ich nut das Programm für den Gyro geschtieben und 
das hat dort perfekt funktioniert.
Auf dem ATmega64 habe ich dann zusätzlich 4 PWM Signale erzeugt und 4 
PWM Signale mittels externen Interrupts ausgelesen.
Da mein Code nicht optimiert war, hat es dort Verzögerungen bei den 
Berechnungen mit dem Gyro gegeben.
Was bei einem Gyro zu einem falschen Winkel führt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren