Hallo,

ich möchte den I2C-Bus mit einem Mega32 als Master ansteuern. In Bascom gibt es den Befehl "config I2Cdelay 'wert'". Leider ist nicht genau ersichtlich, welches Register damit im M32 verändert wird.

Meine Frage ist, wie gross muss "wert" gesetzt werden, damit ich bei einem CPU Clock von 7'372'800 Hz einen serial clock (SCL) von ca. 100 kHz erhalte.

Die Analyse der unterschiedlichsten Beispiele im Netz ergibt keine verlässliche Aussage. Ich habe auch im Datenblatt geforscht und die untenstehenden Angaben gefunden. Die Formel wird aber ungenügend erläutert. Es wird auch kein Beispiel dazu gemacht.

Hat jemand Erfahrungen damit gemacht?

Gruss und Dank
Wastl



Datenblatt des M32, Kapitel "Overview of the TWI Module":

- SCL frequency = CPU Clock frequency / 16 + 2(TWBR) * 4 hoch TWPS

- Legende:
TWBR = Value of the TWI Bit Rate Register
TWPS = Value of the prescaler bits in the TWI Status Register
Anmerkung:
TWBR should be 10 or higher if the TWI operates in Master mode. ...