Board logo

标题: 关于NE64的IIC问题 [打印本页]

作者: 碧落星空    时间: 2006-2-7 15:28     标题: 关于NE64的IIC问题

如果我作为master向设备读取数据,那么我在发出设备地址后,设备将返回给我数据,可是我看datesheet里面好像没有一个标志为表示数据寄存器收到数据,那么我怎么知道有数据到达数据寄存器呢?
作者: 碧落星空    时间: 2006-2-7 17:31

还有个很急得问题:我对IIC进行了初始化,并且向数据寄存器写入了设备地址,但是SCL角练始终都不产生,斑竹指点下看哪里有问题:
tU08 Temperature;
tU08 read_LM75(void);

void main(void) {
IBFD = 0x00;
IBAD = 0xEC;

IBCR = 0xA0;
/* put your own code here */
EnableInterrupts;
for(;;) {
Temperature = read_LM75();
}
}




tU08 read_LM75(void)
{
tU08 tmp = 0;
while(IBSR&0x20) {
} //if bus is free
IBCR |= 0x10;
IBDR = 0x91;
while(!(IBSR&0x20)) {
} //if bus is busy
while(!(IBSR&0x02)) {
} //wait for ack
while(IBSR&0x01) {
}
IBSR |= 0x02;
IBCR&=0xEF;

tmp = IBDR;
return(tmp);
}
作者: lby    时间: 2006-2-8 14:02

你看一下是不是和PIM模块有关,IIC的口是不是由多个外设公用的?




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0