From: Michael Gernoth Date: Mon, 23 Aug 2010 17:00:37 +0000 (+0200) Subject: use 20kHz as I2C frequency X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/rsbs2/commitdiff_plain/989281f290d774ce78f71c8a420870987407a831?hp=4f3bb1187e9576afbc90f99d904633ca02d023e2 use 20kHz as I2C frequency --- 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<