主题中讨论的其他器件:Energia、 HDC2010、 MSP430F5528
我将 MSP430FR5969 Launchpad 与 Energia 18搭配使用(将 sketch 导入到 CCSv7)、似乎无法使 I2C 正常工作。
我的设置由 MSP430FR5969 Launchpad、Sharp BoosterPack (96*96 px SPI 存储器 LCD)和 HDC2010 I2C 温度传感器组成。 HDC2010连接到 LaunchPad 的引脚9和10 (SCL*和 SDA*-因为它们是软件仿真的)。 草图只是在 Sharp LCD 上显示从传感器读取的温度;忽略有关能量的部分、因为它现在只是恒定的替代数据。 读取温度的功能已在 Arduino Uno 上进行测试、并且工作正常。
来谈谈我的问题:
显示屏/串行终端显示的温度读数为-40、当电路板与 HDC2010不通信时显示该读数。 我使用的是 HDC2010 EVM、它包含一个 MSP430F5528 (当器件单独使用时、该器件可处理 USB-I2C 部件)、HDC2010部分可从主板上拆分。
我第一次尝试使用它时、没有将其断开、只需通过电平转换器将传感器部分连接到 Arduino Uno (请注意、MSPF5528也在电路中、可能已通电、 但不进行通信、因为我为+3.3V 电源轨供电来为传感器供电)。 它工作正常、我 获得了读数。 然后、我尝试将其与 MSP430FR5969 Launchpad 配合使用、但我一开始没有获得任何读数、逻辑分析仪显示其中一条串行线仍然持续上拉。 但是、经过一段时间后、它开始正常工作、然后再次停止。
在花了很多时间对其进行故障排除后、我决定细分 HDC2010部分(以防 MSP430F5528干扰)。 该传感器可与 Arduino Uno 配合使用、但不能与 MSP430FR5969配合使用。
逻辑分析仪揭示了这一点:
我意外地对原始草图做了一些更改、因此我无法确定它是软件问题还是硬件问题(与上拉相关?;它的工作时间、没有连接上拉)
如果未连接外部上拉电阻、我将得到:

