打印
[STM32L4]

I2c无法正常工作

[复制链接]
73|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cutfall|  楼主 | 2025-6-10 09:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我有一个旧程序,在旧版本的STCubeMX固件上正常运行。将其迁移到新固件,I2C通信不正常,不知道啥原因
截图如下

使用特权

评论回复
沙发
duo点| | 2025-6-10 15:55 | 只看该作者
固件版本差异导致的?

使用特权

评论回复
板凳
elephant00| | 2025-6-10 16:01 | 只看该作者
检查时钟源和GPIO配置是否正确。

使用特权

评论回复
地板
onlycook| | 2025-6-10 16:01 | 只看该作者
回退固件版本或联系ST官方支持。

使用特权

评论回复
5
flycamelaaa| | 2025-6-10 16:36 | 只看该作者
建议手动调整I2C配置参数,与旧版一致

使用特权

评论回复
6
powerantone| | 2025-6-10 17:36 | 只看该作者
新版固件可能更改了I2C的时钟源或时钟分频设置,导致通信速率不匹配。

使用特权

评论回复
7
stormwind123| | 2025-6-10 18:03 | 只看该作者
检查HAL_RCCEx_PeriphCLKConfig(),I2C的时钟源配置是否正确。

使用特权

评论回复
8
probedog| | 2025-6-10 19:09 | 只看该作者
用CubeMX重新生成代码,时钟树配置与旧版一致。

使用特权

评论回复
9
probedog| | 2025-6-10 21:00 | 只看该作者
GPIO配置问题?

使用特权

评论回复
10
classroom| | 2025-6-10 21:50 | 只看该作者
引脚的上下拉电阻是否启用?

使用特权

评论回复
11
jcky001| | 2025-6-10 22:00 | 只看该作者
检查中断优先级配置(HAL_NVIC_SetPriority())和DMA配置是否与旧版一致。如果使用DMA,确保DMA通道和传输方向配置正确。

使用特权

评论回复
12
cr315| | 2025-6-10 22:00 | 只看该作者
检查I2C相关函数的调用方式是否与新版库的文档一致。尝试用旧版HAL库或LL库重新生成代码。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

19

帖子

0

粉丝