projects
/
bertos.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sam3 i2c: fix slave address setting.
[bertos.git]
/
bertos
/
cpu
/
cortex-m3
/
drv
/
i2c_sam3.c
diff --git
a/bertos/cpu/cortex-m3/drv/i2c_sam3.c
b/bertos/cpu/cortex-m3/drv/i2c_sam3.c
index 9e9ba6f42df3e5a96e61194bb21f93a145895d3b..23ebb3d2d7201133bf764c544392b5351c1f271a 100644
(file)
--- a/
bertos/cpu/cortex-m3/drv/i2c_sam3.c
+++ b/
bertos/cpu/cortex-m3/drv/i2c_sam3.c
@@
-121,9
+121,9
@@
static void i2c_sam3_start(struct I2c *i2c, uint16_t slave_addr)
i2c->hw->first_xtranf = true;
if (I2C_TEST_START(i2c->flags) == I2C_START_R)
i2c->hw->first_xtranf = true;
if (I2C_TEST_START(i2c->flags) == I2C_START_R)
- HWREG(i2c->hw->base + TWI_MMR_OFF) = TWI_MMR_DADR(slave_addr) | TWI_MMR_MREAD;
+ HWREG(i2c->hw->base + TWI_MMR_OFF) = TWI_MMR_DADR(slave_addr
>> 1
) | TWI_MMR_MREAD;
else
else
- HWREG(i2c->hw->base + TWI_MMR_OFF) = TWI_MMR_DADR(slave_addr);
+ HWREG(i2c->hw->base + TWI_MMR_OFF) = TWI_MMR_DADR(slave_addr
>> 1
);
}
static void i2c_sam3_putc(I2c *i2c, const uint8_t data)
}
static void i2c_sam3_putc(I2c *i2c, const uint8_t data)