cutfall 发表于 2025-6-10 09:00

I2c无法正常工作

我有一个旧程序,在旧版本的STCubeMX固件上正常运行。将其迁移到新固件,I2C通信不正常,不知道啥原因截图如下https://community.st.com/t5/image/serverpage/image-id/28593i2DFAF49BA22054F6/image-size/large?v=v2&px=999

duo点 发表于 2025-6-10 15:55

固件版本差异导致的?

elephant00 发表于 2025-6-10 16:01

检查时钟源和GPIO配置是否正确。

onlycook 发表于 2025-6-10 16:01

回退固件版本或联系ST官方支持。

flycamelaaa 发表于 2025-6-10 16:36

建议手动调整I2C配置参数,与旧版一致

powerantone 发表于 2025-6-10 17:36

新版固件可能更改了I2C的时钟源或时钟分频设置,导致通信速率不匹配。

stormwind123 发表于 2025-6-10 18:03

检查HAL_RCCEx_PeriphCLKConfig(),I2C的时钟源配置是否正确。

probedog 发表于 2025-6-10 19:09

用CubeMX重新生成代码,时钟树配置与旧版一致。

probedog 发表于 2025-6-10 21:00

GPIO配置问题?

classroom 发表于 2025-6-10 21:50

引脚的上下拉电阻是否启用?

jcky001 发表于 2025-6-10 22:00

检查中断优先级配置(HAL_NVIC_SetPriority())和DMA配置是否与旧版一致。如果使用DMA,确保DMA通道和传输方向配置正确。

cr315 发表于 2025-6-10 22:00

检查I2C相关函数的调用方式是否与新版库的文档一致。尝试用旧版HAL库或LL库重新生成代码。
页: [1]
查看完整版本: I2c无法正常工作