您好!
我正在使用 MSP430F5340控制器、该控制器与具有 BQ27545G1的 RRC1120电池相连。
我正在成功地执行以下步骤、
1、发送起始条件
2.发送地址。
3.发送写位
4.发送命令
5.发送起始条件
6.发送读位。
完成这些步骤后、我可以成功接收1个字节的数据。 但无法读取另一个数据字节 、因为它在 while (((UCB1IFG & UCRXIFG)=0)上挂起; 这个 while 循环。
我的 I2C 配置如下、
P4SEL |= 0x06;
// SMCLK、软件复位使能
UCB1CTL1 |= UCSSEL_2 | UCSWRST;
//主模式、I2C 模式、同步模式、地址从器件、10位
UCB1CTL0 = UCMST | UCMODE_3 | UCSYNC;//| UCSLA10;
//波特率:SMCLK (12MHz)/(400kHz)=30=0x1E
UCB1BR0 = 0x1E;
UCB1BR1 = 0x00;
//从器件地址
UCB1I2CSA = 0x55;
//清除 SW 复位以启用操作
UCB1CTL1 &=~UCSWRST;
请帮助我解决这个问题,因为它在这里挂起。
提前感谢。