From: Oleg Kostyuk Date: Sun, 8 Sep 2013 23:54:24 +0000 (+0300) Subject: Change I2C clock speed to 444 kHz X-Git-Url: https://git.donarmstrong.com/?p=tmk_firmware.git;a=commitdiff_plain;h=260d7b7707bd46c54964779a76d45a87af28ffdc Change I2C clock speed to 444 kHz --- diff --git a/keyboard/ergodox/twimaster.c b/keyboard/ergodox/twimaster.c index 6959d81..f91c08e 100644 --- a/keyboard/ergodox/twimaster.c +++ b/keyboard/ergodox/twimaster.c @@ -26,10 +26,16 @@ *************************************************************************/ void i2c_init(void) { - /* initialize TWI clock: 400 kHz clock, TWPS = 0 => prescaler = 1 */ + /* initialize TWI clock + * minimal values in Bit Rate Register (TWBR) and minimal Prescaler + * bits in the TWI Status Register should give us maximal possible + * I2C bus speed - about 444 kHz + * + * for more details, see 20.5.2 in ATmega16/32 secification + */ - TWSR = 0; /* no prescaler */ - TWBR = ((F_CPU/SCL_CLOCK)-16)/2; /* must be > 10 for stable operation */ + TWSR = 0; /* no prescaler */ + TWBR = 10; /* must be >= 10 for stable operation */ }/* i2c_init */