请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430FR2355 正如标题所述-在 I2C 总线初始化(在 B0或 B1上)之后、STATW 寄存器读出总线繁忙。 该控制器已通过上拉电阻器连接到传感器、也未连接任何元件、但问题仍然存在。 总线在退出软件复位后即表示它正忙。 我的代码如下-这两个函数将连续运行、我们希望您能提供任何帮助。
void initGPIO()
{
// I2C pins
P1SEL0 |= BIT2 | BIT3;
P1SEL1 &= ~(BIT2 | BIT3);
P1OUT |= BIT2 | BIT3;
// Disable the GPIO power-on default high-impedance mode to activate
// previously configured port settings
PM5CTL0 &= ~LOCKLPM5;
}
void initI2C()
{
UCB0CTLW0 = UCSWRST; // Enable SW reset
UCB0CTLW0 |= UCMODE_3 | UCMST | UCSSEL__SMCLK | UCSYNC; // I2C master mode, SMCLK
UCB0BRW = 160; // fSCL = SMCLK(16MHz)/160 = ~100kHz
UCB0I2CSA = 0x00; // Slave Address
UCB0CTLW0 &= ~UCSWRST; // Clear SW reset, resume operation
}