LZ为什么调不通就不知道了,以下是我的经验
1、要打开IO相应外设功能,若不打开肯定是不能正常工作
DrvGPIO_InitFunction(E_FUNC_I2C0);
2、设置地址
这个要特别注意了,新唐所代表的地址是不含W//R位的。
例如正常EEPROM中地址为0XA0,我们要设置的地址要设置0X50
DrvI2C_SetAddress( I2C_PORT0,0,Device_Addr>>1,0 ); // 设置I2C 地址1,并将广播命令关闭
3、设置为从机模式
DrvI2C_Ctrl(I2C_PORT0, 0, 0, 0, 1);
4、打开I2C功能模块
DrvI2C_EnableInt(I2C_PORT0); // 使能I2C_PORT
5、使能中断
DrvI2C_InstallCallback(I2C_PORT0, I2CFUNC, S_I2C_Callback_Slave);
按我的试一下看看。 |