From 0f6873cf02653bae884a52671740965aca1d89be Mon Sep 17 00:00:00 2001 From: k-brk <25877802+k-brk@users.noreply.github.com> Date: Fri, 24 May 2019 14:14:59 +0200 Subject: [PATCH] machine/stm32f103xx: fix i2c 2 byte read --- src/machine/machine_stm32f103xx.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/machine/machine_stm32f103xx.go b/src/machine/machine_stm32f103xx.go index 3ebcdb854..05dac95d4 100644 --- a/src/machine/machine_stm32f103xx.go +++ b/src/machine/machine_stm32f103xx.go @@ -505,7 +505,12 @@ func (i2c I2C) Tx(addr uint16, w, r []byte) error { r[1] = byte(i2c.Bus.DR.Get()) // wait for stop - return i2c.waitForStop() + err = i2c.waitForStop() + + //disable pos + i2c.Bus.CR1.ClearBits(stm32.I2C_CR1_POS) + + return err case 3: // Enable ACK of received data