利用TM4C129XNCZAD I2C9作主机,对EEPROM进行读取操作。
当对I2C9进行初始化操作后,I2C 主机控制/状态寄存器 (I2CMCS)为0x60,初始化程序如下:
SysCtlPeripheralEnable(SYSCTL_PERIPH_I2C9);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);
GPIOPinConfigure(GPIO_PE6_I2C9SCL);
GPIOPinConfigure(GPIO_PE7_I2C9SDA);
GPIOPinTypeI2CSCL(GPIO_PORTE_BASE, GPIO_PIN_6);
GPIOPinTypeI2C(GPIO_PORTE_BASE, GPIO_PIN_7);
I2CMasterInitExpClk(I2C9_BASE, g_ui32SysClock, 0);
I2CMasterEnable(I2C9_BASE);
因总线初始化后就进行BUSY状态,导致无法对EEPROM进行读取操作。
备注:I2C总线SCL、SDA已接收上拉电阻(2.2K),用示波器测量总线已上拉,示波器检测不到SCL和SDA输出。