[STM32L0] STM的I2C HAL驱动存在严重问题

[复制链接]
Treasure101 发表于 2025-8-18 21:00 | 显示全部楼层 |阅读模式
这些驱动在STM32CubeIDE-1.7.0版本中仍未修复。
这些驱动有一个未解决的案例:https://github.com/STMicroelectronics/stm32l0xx_hal_driver/issues/5。官方提供的示例代码也无法正常运行(问题主要出在_IT和_DMA系列函数上)。

举例说明:
HAL_I2C_Slave_Receive_IT和HAL_I2C_Slave_Receive_DMA函数从未调用过HAL_I2C_SlaveRxCpltCallback或其他任何回调函数,这在实际中完全无法使用。这个问题急需修复。
HAL_I2C_Master_Transmit_IT和HAL_I2C_Master_Transmit_DMA却能正常工作,并能正确调用HAL_I2C_MasterTxCpltCallback回调函数。
是否有其他电工正成功使用过这些基础功能?

另外,关于以下函数是否有实际可用的使用文档:
HAL_I2C_Mem_Write
HAL_I2C_Mem_Read
HAL_I2C_Master_Seq_Transmit_*
HAL_I2C_Master_Seq_Receive_*


麻花油条 发表于 2025-8-19 11:55 | 显示全部楼层
HAL库版本缺陷。
duo点 发表于 2025-8-19 11:55 | 显示全部楼层
硬件限制,STM32L0的I2C外设可能对从机模式的支持不完善,导致中断或DMA触发条件不满足。
onlycook 发表于 2025-8-19 11:56 | 显示全部楼层
升级HAL库,检查STM32CubeIDE是否为最新版本,并更新HAL库至最新版。
duo点 发表于 2025-8-19 11:57 | 显示全部楼层
放弃中断/DMA模式,改用轮询模式,通过超时机制模拟非阻塞操作
七毛钱 发表于 2025-8-19 11:58 | 显示全部楼层
可以向ST官方提交Bug报告
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

42

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部