我首先尝试在 MSP430F169和 SI514-PROG-EVB 之间建立 I2C 通信。 这就是我如何连接它:
这是逻辑分析仪上的输出:
这就是问题、它总是提供 NAK、我无法使它得到 ACK。
下面是 SI-514-PROG-EVB 中的一句话、介绍了如何进行 I2C 连接、以检查它是否与我绘制的(和连接的)方式相匹配
此外、当我将 MSP430完全未连接到 SI514时、我将在逻辑分析仪上获得完全相同的输出(如上所示)。 但是、当我将 MSP430连接到 SI514、但我断开了 SI514中的 USB 电源时、我在逻辑分析仪上获得了以下结果:
最后、这是我的代码。 这主要来自一些示例。 从器件地址正确:
int main (空)
{
WDTCTL = WDTPW + WDTHOLD;
P3SEL |= 0x0A;//将 P3.3设置为 SCL、将 P3.1设置为 SDA
U0CTL |= I2C + SYNC;//将 USART0切换为 I2C 模式
U0CTL &=~I2CEN;//推荐的 I2C 初始化过程
I2CTCTL = I2CSSEL_2;// SMCLK
I2CSCLH = 0x03;// SCL 的高电平周期
I2CSCLL = 0x03;// SCL 的低电平周期
I2CNDAT = 0x01;//发送一个字节
I2CSA = 0x55;//从地址
U0CTL |= I2CEN;//启用 I2C、7位地址、
while (1)
{
U0CTL |= MST;
I2CTCTL |= I2CSTT + I2CSTP;
__no_operation();
}
}
