周半梅
发表于 2025-6-12 07:19
用 F103 搞 I2C 主机模式,总掉总线咋回事?
刚一启动主机就拉着 SCL 不放,外设不认,感觉起始条件没跑成功。
Clyde011
发表于 2025-6-12 07:24
多设备挂总线时很容易冲突,建议单独测试下。
公羊子丹
发表于 2025-6-12 07:25
F1 的 I2C 好像本来就挺玄学的……
周半梅
发表于 2025-6-12 07:27
我之前改用软件模拟 I2C 就没问题了。
帛灿灿
发表于 2025-6-12 07:28
会不会是从机没响应 ACK?
童雨竹
发表于 2025-6-12 07:29
看下是不是主机发完没 STOP,卡住了。
万图
发表于 2025-6-12 07:30
CubeMX 自动生成的不一定靠谱,建议手写。
Wordsworth
发表于 2025-6-12 07:31
注意 F1 的 I2C 有个 bug,需要加清除逻辑。
Bblythe
发表于 2025-6-12 07:32
我都是加个超时自动重启 I2C 总线。
Pulitzer
发表于 2025-6-12 07:32
会不会是 GPIO 没配置成 open-drain?
Uriah
发表于 2025-6-12 07:33
你用的是哪个唤醒源?会影响 GPIO 状态。
classroom
发表于 2025-6-12 12:39
引脚配置成推挽输出模式,会导致总线异常。
duo点
发表于 2025-6-12 12:44
可添加超时处理机制,避免程序一直等待检测应答信号。
flycamelaaa
发表于 2025-6-12 14:00
未正确配置上拉电阻或存在电源噪声干扰,会使 I2C 总线上出现毛刺或上升沿缓慢,导致通信失败。
probedog
发表于 2025-6-12 14:36
总线时钟频率过高或过低、数据传输速率不匹配?
powerantone
发表于 2025-6-12 15:00
引脚连接错误、总线线路短路或断路,会引发通信故障。
stormwind123
发表于 2025-6-12 18:00
设备地址冲突?
classroom
发表于 2025-6-12 18:36
未正确处理应答信号,可能导致通信中断。
onlycook
发表于 2025-6-12 19:00
中断优先级不合理吧。。
七毛钱
发表于 2025-6-12 19:59
中断服务函数中未正确处理 I2C 事件,或处理时间过长
页:
[1]