#define E2PROM_I2C_PERIPH SYSCTL_PERIPH_I2C2
#define E2PROM_I2C_BASE I2C2_BASE
#define E2PROM_I2C_SCL_PERIPH SYSCTL_PERIPH_GPIOG
#define E2PROM_I2C_SCL_PORT GPIO_PORTG_BASE
#define E2PROM_I2C_SCL_PIN GPIO_PIN_2
#define E2PROM_I2C_SDA_PERIPH SYSCTL_PERIPH_GPIOG
#define E2PROM_I2C_SDA_PORT GPIO_PORTG_BASE
#define E2PROM_I2C_SDA_PIN GPIO_PIN_3//+++++
// Enable Module
//+++++
SysCtlPeripheralEnable(E2PROM_I2C_PERIPH);
SysCtlPeripheralEnable(E2PROM_I2C_SCL_PERIPH);
SysCtlPeripheralEnable(E2PROM_I2C_SDA_PERIPH);
SysCtlPeripheralEnable(E2PROM_WP_PERIPH);
//+++++
// Configure GPIO Pins
//+++++
GPIOPinConfigure(GPIO_PG2_I2C2SCL);
GPIOPinConfigure(GPIO_PG3_I2C2SDA);
GPIOPinTypeI2CSCL(E2PROM_I2C_SCL_PORT, E2PROM_I2C_SCL_PIN);
GPIOPinTypeI2C(E2PROM_I2C_SDA_PORT, E2PROM_I2C_SDA_PIN);
I2CMasterInitExpClk(E2PROM_I2C_BASE, g_dwSystemClock, false); // false表示传输速率是100kbps,true则意味着传输速率是400kbps。
I2CMasterEnable(E2PROM_I2C_BASE);I2CMasterSlaveAddrSet(E2PROM_I2C_BASE, E2PROM_AT24C512_WRITEADDRESS, FALSE);I2CMasterDataPut(dwBase, byData);
I2CMasterControl(dwBase, wCmd);
while (I2CMasterBusy(dwBase)); //等待发送完毕初始化完I2C后,发送数据后,一直等在while,这是怎么回事,请教各位了。。。
此帖出自
小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>