As the title states - after the initialization of my I2C bus (either on B0 or B1), the STATW register reads that the bus is busy. The controller has been hooked up to a sensor with a pullup and also has been not hooked up to anything, but the problem still persists. The bus says that it's busy right after it exits software reset. My code is below - the two functions are run in succession, any help would be appreciated.
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
}