rt-thread icon indicating copy to clipboard operation
rt-thread copied to clipboard

[Feature] STM32的drv_hard_i2c缺少一个设置I2c速度的接口

Open vangao-gg opened this issue 3 months ago • 4 comments

Describe problem solved by the proposed feature

就像UART一样,在应用层通过name找到设备之后,可以通过config来设置uart的属性; 目前的drv_hard_i2c中缺少这个接口,所以无法从上层来设置I2c的速度,而原始速度只有100khz;

Describe your preferred solution

所以希望在drv_hard_i2c中补充这个config接口,因为内核的ops中就是有i2c_bus_control的接口的;

Describe possible alternatives

如果直接修改drv_hard_i2c里面的参数,把100k改掉,这样的方式还是不够优雅;

vangao-gg avatar Aug 25 '25 06:08 vangao-gg

https://github.com/RT-Thread/rt-thread/blob/af2c8ae1745f2231f04f94b65d4c41bee6b393c7/bsp/stm32/libraries/HAL_Drivers/drivers/drv_hard_i2c.c#L128-L134

  • 这里不就是吗
  • ?

wdfk-prog avatar Aug 25 '25 09:08 wdfk-prog

rt-thread/bsp/stm32/libraries/HAL_Drivers/drivers/drv_hard_i2c.c

Lines 128 to 134 in af2c8ae

static rt_err_t stm32_i2c_configure(struct rt_i2c_bus_device *bus) { RT_ASSERT(RT_NULL != bus); struct stm32_i2c *i2c_drv = rt_container_of(bus, struct stm32_i2c, i2c_bus);

 return stm32_i2c_init(i2c_drv); 

}

  • 这里不就是吗
  • ?

可能我没有描述清楚,这个接口是静态的,没有向上暴露; 您有空的话,可以帮我review一下,https://github.com/RT-Thread/rt-thread/pull/10637

vangao-gg avatar Aug 25 '25 10:08 vangao-gg

rt-thread/bsp/stm32/libraries/HAL_Drivers/drivers/drv_hard_i2c.c Lines 128 to 134 in af2c8ae static rt_err_t stm32_i2c_configure(struct rt_i2c_bus_device *bus) { RT_ASSERT(RT_NULL != bus); struct stm32_i2c *i2c_drv = rt_container_of(bus, struct stm32_i2c, i2c_bus);

 return stm32_i2c_init(i2c_drv); 

}

  • 这里不就是吗
  • ?

可能我没有描述清楚,这个接口是静态的,没有向上暴露; 您有空的话,可以帮我review一下,#10637

  • 你是对的,确实没有提供^_^

wdfk-prog avatar Aug 25 '25 13:08 wdfk-prog

rt-thread/bsp/stm32/libraries/HAL_Drivers/drivers/drv_hard_i2c.c Lines 128 to 134 in af2c8ae static rt_err_t stm32_i2c_configure(struct rt_i2c_bus_device *bus) { RT_ASSERT(RT_NULL != bus); struct stm32_i2c *i2c_drv = rt_container_of(bus, struct stm32_i2c, i2c_bus);

 return stm32_i2c_init(i2c_drv); 

}

  • 这里不就是吗
  • ?

可能我没有描述清楚,这个接口是静态的,没有向上暴露; 您有空的话,可以帮我review一下,#10637

  • 你是对的,确实没有提供^_^

看到您的comment了,感谢感谢,我会抽空按照您的建议再优化一下;

vangao-gg avatar Aug 26 '25 03:08 vangao-gg