From 989281f290d774ce78f71c8a420870987407a831 Mon Sep 17 00:00:00 2001 From: Michael Gernoth Date: Mon, 23 Aug 2010 19:00:37 +0200 Subject: [PATCH] use 20kHz as I2C frequency --- bmc/i2c.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/bmc/i2c.c b/bmc/i2c.c index d7bb951..bd4d69c 100644 --- a/bmc/i2c.c +++ b/bmc/i2c.c @@ -14,9 +14,15 @@ volatile uint8_t i2c_len = 0x00; static volatile uint8_t i2c_pos = 0x00; volatile uint8_t i2c_done = 0x00; +#define I2C_FREQ 20000UL + void i2c_init() { - TWBR = 0xff; + /* SCLf = F_CPU / (16 + 2 * TWBR * 4^TWPS) + * TWPS is 0 => + * TWBR = (F_CPU/(2 * SCL)) - 8 + */ + TWBR = (F_CPU/(2*I2C_FREQ))-8; TWAR = BMC_ADDR & 0xfe; TWDR = 0x00; TWCR &= ~((1<