标题: [求助]IIC读字节代码程序 [打印本页]
作者: nt06 时间: 2012-7-18 17:10
标题: [求助]IIC读字节代码程序
uchar read_byte()
{
uchar i,k;
scl=0;
delay();
sda=1;
delay();
for(i=0;i<8;i++)
{
scl=1;
delay();
k=(k<<1)|sda;
scl=0;
delay();
}
return k;
}
sda 被拉为1了
K左移
结果K是不是全是FF
这有在读数据吗?
无法理解 求高手指点
作者: 青苹果 时间: 2012-7-19 08:55
SDA=1;应该是让SDA口做为输出吧,后面读取SDA的时候,就是SDA IO口的状态了,不会一直是1的
作者: ahshmj 时间: 2012-7-26 19:34
由于51单片机是准双向I/O,有读锁存器和读口线(引脚)之分,读口线之前必须先置I/O锁存器为1,读口线才能有正确结果。所以SDA=1是必须的。
这正是许多初学者不容易理解并容易出错的地方。而且出错的原因还不容易分析。
[此贴子已经被作者于2012-7-26 19:34:43编辑过]
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |