首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

关于NE64的IIC问题

关于NE64的IIC问题

如果我作为master向设备读取数据,那么我在发出设备地址后,设备将返回给我数据,可是我看datesheet里面好像没有一个标志为表示数据寄存器收到数据,那么我怎么知道有数据到达数据寄存器呢?
正在进行NE64的研究学习,欢迎和我讨论~ saga0807@hotmail.com
还有个很急得问题:我对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);
}
正在进行NE64的研究学习,欢迎和我讨论~ saga0807@hotmail.com
你看一下是不是和PIM模块有关,IIC的口是不是由多个外设公用的?
返回列表