[STM32F0] 入门级芯片的I2C接口有时候出现挂死怎么避免这种情况

[复制链接]
846|18
Uriah 发表于 2025-8-19 07:21 | 显示全部楼层 |阅读模式
一旦总线占用太久,就只能通过硬复位才能恢复。
Clyde011 发表于 2025-8-19 07:23 | 显示全部楼层
最好实测验证。
公羊子丹 发表于 2025-8-19 07:24 | 显示全部楼层
你用的是独立看门狗还是窗口的?
周半梅 发表于 2025-8-19 07:25 | 显示全部楼层
L4的时钟源和F1不一样。
帛灿灿 发表于 2025-8-19 07:26 | 显示全部楼层
有时候计算结果跟实际差点。
童雨竹 发表于 2025-8-19 07:27 | 显示全部楼层
看门狗的预分频很关键。
万图 发表于 2025-8-19 07:28 | 显示全部楼层
我调过,确实会比理论值快。
Wordsworth 发表于 2025-8-19 07:29 | 显示全部楼层
温度对内部RC有影响。
Bblythe 发表于 2025-8-19 07:30 | 显示全部楼层
用定时器测一下实际超时时间。
Pulitzer 发表于 2025-8-19 07:31 | 显示全部楼层
CubeMX算出来不一定准。
 楼主| Uriah 发表于 2025-8-19 07:31 | 显示全部楼层
你是想拉到几秒?
豌豆爹 发表于 2025-8-26 16:25 | 显示全部楼层
如果总线电容较大,适当减小上拉电阻值,以加快信号上升沿。
duo点 发表于 2025-8-26 16:26 | 显示全部楼层
降低总线电容,减少 导线长度,避免长距离走线。
onlycook 发表于 2025-8-26 16:26 | 显示全部楼层
如果必须长距离传输,考虑使用 I2C 缓冲器/扩展器。
内政奇才 发表于 2025-8-26 16:27 | 显示全部楼层
添加滤波和TVS 二极管 或 ESD 保护器件,防止静电损坏 I2C 接口。
海滨消消 发表于 2025-8-26 16:27 | 显示全部楼层
I2C 通信必须实现超时检测,避免因从机无响应导致主机挂死。
豌豆爹 发表于 2025-8-26 16:28 | 显示全部楼层
如果总线噪声大,适当 降低 I2C 速度。
麻花油条 发表于 2025-8-26 16:28 | 显示全部楼层
如果使用 阻塞模式,长时间等待可能导致系统挂死。建议改用 中断或 DMA 模式,避免阻塞主程序。
yiy 发表于 2025-11-3 09:41 | 显示全部楼层
用定时器测一下实际超时时间,有时比理论值快
您需要登录后才可以回帖 登录 | 注册

本版积分规则

186

主题

6565

帖子

1

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