最近在研究I2C接口,在LM3S9B96上运行成功,可是移植到TM4C123GH6PM上,SCL一直为低电平,SDA一直为高电平,不知道哪里出现了问题,也没有官方的例程可以参考。初始化及中断如何配置,请做过相关实验的指点一下,谢谢!
附 I2C主机初始化
void I2CM_Init(void)
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_I2C0); // 使能I2C0模块
SysCtlPeripheralEnable(I2C0SCL_PERIPH); // 使能SCL所在的GPIO模块
GPIOPinTypeI2C(I2C0SCL_PORT, I2C0SCL_PIN); // 配置相关管脚为SCL功能
SysCtlPeripheralEnable(I2C0SDA_PERIPH); // 使能SDA所在的GPIO模块
GPIOPinTypeI2C(I2C0SDA_PORT, I2C0SDA_PIN); // 配置相关管脚为SDA功能
IntEnable(INT_I2C0); // 使能I2C0中断
I2CMasterInitExpClk(I2C0_BASE, SysCtlClockGet(), false); // I2C主机模块初始化,100kbps
I2CMasterIntEnable(I2C0_BASE); // 使能I2C主模块中断
IntMasterEnable(); // 使能处理器中断
I2CMasterEnable(I2C0_BASE); // 使能I2C主机
}