TI中文支持网
TI专业的中文技术问题搜集分享网站

MSP430FR5738 I2C Slave RX Mode, 主机发送地址时,MSP430不能产生正确的ACK信号

  UCB0CTLW0 |= UCSWRST;  //reset I2C Module  

UCB0CTLW0 |= UCMODE_3 + UCSYNC;  //I2C Slave

 UCB0I2COA0 = SLAVE_ADDRESS;   

//Set P1.6 & P1.7 on I2C MODE  

P1SEL1 |= BIT6 + BIT7;  

P1SEL0 &= ~BIT6;  P1SEL0 &= ~BIT7;    

UCB0CTLW0 &= ~UCSWRST;  //reset I2C Module  

UCB0IE__I2C |= UCTXIE0 + UCRXIE0 + UCSTTIE + UCSTPIE; //Enable I2C INTERRUPT

 

上面是对MSP430FR5738 I2C模式的初始化。初始化完成后,主机发送S+ADDR+W,MSP430不能产生ACK信号。查看430内部寄存器UCB0ADDRX,已经收到了正确的地址,但没有产生ACK信号,请问是什么原因

Jun Xu8:

kqian0327:

你好,

首先排查数据发送是否正常。

然后你要排除一下主机发送的地址是否正确,及主机寻址是否正确。

在确认主机没有问题的情况下,检查从机程序。

你可以参考MSP430WARE例程,里面有关于从机IIC的例程。

希望能帮到你。

赞(0)
未经允许不得转载:TI中文支持网 » MSP430FR5738 I2C Slave RX Mode, 主机发送地址时,MSP430不能产生正确的ACK信号
分享到: 更多 (0)