From 609d869cbdf3d70854c3f1b74dabf9d738ae8e0e Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 10 Nov 2013 09:25:47 +0000 Subject: Fixed I2C driver 10 bits mode. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/kernel_3_dev@6424 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/ports/STM32/I2Cv1/i2c_lld.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'os') diff --git a/os/hal/ports/STM32/I2Cv1/i2c_lld.c b/os/hal/ports/STM32/I2Cv1/i2c_lld.c index cc4b183d1..89b80396f 100644 --- a/os/hal/ports/STM32/I2Cv1/i2c_lld.c +++ b/os/hal/ports/STM32/I2Cv1/i2c_lld.c @@ -254,7 +254,7 @@ static void i2c_lld_serve_event_interrupt(I2CDriver *i2cp) { case I2C_EV5_MASTER_MODE_SELECT: if ((i2cp->addr >> 8) > 0) { /* 10-bit address: 1 1 1 1 0 X X R/W */ - dp->DR = 0xF0 | (0x1 & i2cp->addr) | (0x3 & (i2cp->addr >> 9)); + dp->DR = 0xF0 | (0x6 & (i2cp->addr >> 8)) | (0x1 & i2cp->addr); } else { dp->DR = i2cp->addr; } -- cgit v1.2.3