各位前辈,我想问一下我下面的GPIO口复用功能的配置是否正确。我的处理器是TI的LM3S9B92,我要启用MCU的I2C1模块,而I2C1SCL是PA6的复用功能,I2C1SDA是PA7的复用功能。
void
I2C_Init(void)
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_I2C1); //使能I2C1模块
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA); //使能SCL/SDA所在的GPIO模块(此句需重点注意)
GPIOPinConfigure(GPIO_PA6_I2C1SCL);
GPIOPinConfigure(GPIO_PA7_I2C1SDA);
GPIOPinTypeI2C(GPIO_PORTA_BASE, GPIO_PIN_6 | GPIO_PIN_7); // 配置相关管脚为SCL、SDA功能(此句需重点注意)
IntEnable(INT_I2C1);
I2CMasterInit(I2C1_MASTER_BASE,false); //I2C主机模块初始化,100kbps
I2CMasterIntEnable(I2C1_MASTER_BASE); //使能I2C主模块中断
IntMasterEnable(); //使能处理器中断
I2CMasterEnable(I2C1_MASTER_BASE);
}