void Write_Sram(Uint16 addr,Uint16 data)
{
I2C_start();
while (!I2C_xrdy());
I2C_writeByte(0xDE); //写器件地址
while (!I2C_xrdy());
I2C_writeByte(0x00); //写高位地址
while (!I2C_xrdy()); //卡在这儿啦
I2C_writeByte(addr); //写低位地址
while (!I2C_xrdy());
I2C_writeByte(data); //写数据
I2C_sendStop();
delay(5000);
}
我用I2C读写EEPROM,写了个写数据子程序,调用时发现卡住了,位置见上面。
请问高手,哪里有问题?谢谢!
ccb bcc:
回复 Shine:
挂了两个器件,一个时钟芯片,一个音频接口。
音频接口已经搞成功了。
时钟芯片没搞好。
Shine:
回复 ccb bcc:
那这里的EEPROM器件是挂哪里?
ccb bcc:
回复 Shine:
挂在I2C总线上。
Shine:
回复 ccb bcc:
在卡住之前的代码时序正确么?
while (!I2C_xrdy());I2C_writeByte(0xDE); //写器件地址while (!I2C_xrdy());I2C_writeByte(0x00); //写高位地址这段代码写正确吗?
TI中文支持网

