diff --git a/components/drivers/i2c/i2c-bit-ops.c b/components/drivers/i2c/i2c-bit-ops.c index dd294731aa71d67684dee54fcfcb7ec703cc01ba..ee6acd886d10b4575d0856a5ab7b9cec22eeb1c1 100644 --- a/components/drivers/i2c/i2c-bit-ops.c +++ b/components/drivers/i2c/i2c-bit-ops.c @@ -54,7 +54,7 @@ static rt_err_t SCL_H(struct rt_i2c_bit_ops *ops) { if ((rt_tick_get() - start) > ops->timeout) return -RT_ETIMEOUT; - rt_thread_delay((ops->timeout + 1) >> 1); + i2c_delay(ops); } #ifdef RT_I2C_BITOPS_DEBUG if (rt_tick_get() != start)