发布于4年前
如果只要满足50HZ,在1个系统节拍等于1ms的情况下,把下面timeout修改成40以下,不修改SCL_H应该也可以。
static const struct rt_i2c_bit_ops stm32_bit_ops_default ={ .data = RT_NULL, .set_sda = stm32_set_sda, .set_scl = stm32_set_scl, .get_sda = stm32_get_sda, .get_scl = stm32_get_scl, .udelay = stm32_udelay, .delay_us = 1, .timeout = 20};
static const struct rt_i2c_bit_ops stm32_bit_ops_default =
{
.data = RT_NULL,
.set_sda = stm32_set_sda,
.set_scl = stm32_set_scl,
.get_sda = stm32_get_sda,
.get_scl = stm32_get_scl,
.udelay = stm32_udelay,
.delay_us = 1,
.timeout = 20
};
回到 顶部
发布 问题
投诉 建议
问 I2C读取频率和DMA配置问题