lpc2220的i2c读写问题:程序写操作的时候中发送开始操作没有问题,但是发送从机地址的时候就发现从机没有应答,拿别人一样的代码,放进去一样的结果,总是从机没有应答,但是用别人的工程和代码,是正确的,然后把全部别人的代码,但是还是一样的结果,发送从机地址的时候就发现从机没有应答。感觉很奇怪,别人的代码和我一模一样,但是总是不行,但是不知怎么的,发现我的程序有可以了,本人才刚学,还是菜鸟,希望高手帮小弟解决!谢谢!
/**************发送起始信号******************/ //清除标志 I2CONCLR = aa | si | sta ; //发送开始信号 I2CONSET = sta; //等待标志位置1 while((I2CONSET & si) == 0); //返回状态值 if(I2STAT != 0x08) { I2CONSET = sto; return I2STAT; } /**************发送从机地址:写模式******************/ //清除标志 I2CONCLR = si | sta; //发送从机地址 I2DAT = (addr&0xfe); //等待标志位置1 while((I2CONSET & si) == 0); //返回状态值 if(I2STAT != 0x18) { I2CONSET = sto; return I2STAT; }
|