[讨论] lpc2220的i2c读写问题

lw209   2012-7-15 20:40 楼主
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;
}

i2c.zip (1.55 KB)
(下载次数: 6, 2012-7-15 20:40 上传)
 

回复评论 (2)

看看是不是时钟配置问题。。。。。。。。
我的博客
点赞  2012-7-16 16:39
时钟配置没有问题,是不是设置i2c的频率太高了,时钟的配置其他的程序使用没有问题。
点赞  2012-7-19 11:00
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复