主题中讨论的其他器件: LP2950
工具/软件:
您好、我使用的是以 3.3V 电压供电的 Arduino Uno(通过 LP2950 稳压器)、并尝试通过 I2C 与 FDC1004 连接。
我的设置:
Arduino Uno @ 3.3V(由 LP2950 稳压器通过 5V 电源供电)
FDC1004 由 LP2950 的 3.3V 电源供电(通过万用表确认为 3.3V VCC - GND)
SCL/SDA 直接连接(无电平转换器,因为 UNO 为 3.3V)
在 SCL 和 SDA 与 3.3V 之间连接 5kΩ 上拉电阻器
I2C 地址:0x50(通过 I2C 扫描仪确认,稳定检测)
去耦电容器:
从 LP2950 + 1μF VOUT (3.3V) 到 GND 的 0.1μF GND 电容器(靠近 FDC1004)
LP2950 VIN 到 GND 的 0.1μF 电容器
问题:
当我运行初始化代码(写入 MEAS1 CONFIG 和 FDC 配置)时、程序会在打印“FDC1004 初始化已开始“后立即停止。 它似乎冻结在
Wire.endTransmission()。我尝试过的方法:
I2C 扫描仪反复检测 0x50、未出现问题
Arduino 和 FDC1004 SCL/SDA 引脚之间的连续性测试:无中断
确认 LP2950 的 3.3V 输出在通信期间保持稳定
验证了 FDC1004 和 LP2950 附近的去耦电容器放置
我的问题:
什么可能导致 FDC1004 在 I2C 写入时锁定(卡在)
Wire.endTransmission()、即使一直检测到 I2C 地址 0x50 也是如此?
在此设置中、FDC1004 是否有任何时序、启动或配置注意事项、我可能会忽视?
