[STM32L1] DHT12 i2c读取 死循环

[复制链接]
4722|81
LLGTR 发表于 2025-1-13 16:46 | 显示全部楼层
一些元件对iic定时有很高的要求
未来AI 发表于 2025-1-17 10:24 | 显示全部楼层
模块化信号是具有相等幅度和相位的信号,
AutoMotor 发表于 2025-1-17 19:10 | 显示全部楼层
修改等待有超时,同时要注意时许。
物联万物互联 发表于 2025-1-18 13:02 | 显示全部楼层
检查i2c初始化配置是否不正确
朝生 发表于 2025-1-18 21:21 | 显示全部楼层
等待修改超时,请注意时间限制。
芯路例程 发表于 2025-1-19 22:34 | 显示全部楼层
等待修改已超时。请注意时间限制。,
Amazingxixixi 发表于 2025-1-21 17:03 | 显示全部楼层
换软件模拟的
SophiaOP 发表于 2025-1-22 22:25 来自手机 | 显示全部楼层
有没有小一点的模块啊
公羊子丹 发表于 2025-1-23 09:54 | 显示全部楼层
楼主检查过 I2C 地址没?DHT12 默认地址是 0x5C,别用错了。
周半梅 发表于 2025-1-23 09:56 | 显示全部楼层
死循环的话很可能是 ACK 没收到,看看线路上拉电阻有没有配置对?
帛灿灿 发表于 2025-1-23 09:58 | 显示全部楼层
STM32 的 I2C 容易卡在 HAL_I2C_Master_Transmit 或 HAL_I2C_Master_Receive,看看有没有超时处理。
童雨竹 发表于 2025-1-23 09:59 | 显示全部楼层
我之前也遇到过这种问题,最后发现是 DHT12 的电源供电不稳,加了个电容解决了。
万图 发表于 2025-1-23 10:01 | 显示全部楼层
PB6 和 PB7 是 I2C 的默认引脚,确认一下有没有被其他外设占用。
Wordsworth 发表于 2025-1-23 10:02 | 显示全部楼层
楼主试过逻辑分析仪抓波形吗?看看 I2C 信号有没有问题,比如时序不对。
Bblythe 发表于 2025-1-23 10:03 | 显示全部楼层
我觉得可能是初始化有问题,试着用 CubeMX 重新配置一下 I2C 看行不行。
Pulitzer 发表于 2025-1-23 10:05 | 显示全部楼层
STM32L52 的 I2C 时钟别开太高,DHT12 支持的最大频率只有 100kHz。
Uriah 发表于 2025-1-23 10:07 | 显示全部楼层
如果总是读不到数据,可以先试试用扫描工具看 DHT12 的地址能不能探测到。
Clyde011 发表于 2025-1-23 10:08 | 显示全部楼层
如果还不行,建议单步调试看看程序卡在哪个函数,可能是某个状态没处理好。
Amazingxixixi 发表于 2025-1-24 11:42 | 显示全部楼层
学习一下,提升技能,新年快乐
AIsignel 发表于 2025-1-25 06:14 | 显示全部楼层
pb6和pb7是i2c的默认引脚,确保它们不被其它外设占用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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