打印

i2c总线,读数据

[复制链接]
1513|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
donghcc|  楼主 | 2010-11-8 20:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟最近学习i2c总线,对以下程序不太明白,请大侠做一些解释。
其中 read_add()从at24co2中读出数据,write_byte()写字节,read_byte()读字节,respons()应答,

uchar read_add(uchar address)//从AT24C02 中读出数据
{
uchar date;
start();               
write_byte(0xa0);
respons();
write_byte(address);
respons();
start();                         //why
write_byte(0xa1);         //why
respons();
date=read_byte();
stop();
return date;
}

相关帖子

沙发
dong_abc| | 2010-11-8 20:24 | 只看该作者
看你的ID名字跟我差不多,就留给你一句话:看看时序图

使用特权

评论回复
板凳
kyzb001| | 2010-11-13 14:28 | 只看该作者
我也在纠结I2C,不过你这个问题我刚好可能知道。  你这个是选择性读。 就是有选择的读取地址里面的内容。
步骤的话 你去查24C02的数据手册。就知道了。

使用特权

评论回复
地板
monkeyiron| | 2010-11-13 22:10 | 只看该作者
I2C总线读的时序 就是这样的  0xa0  0xa1  是读命令字  读8位数据就是这样读的 24C02的数据手册里读的时序图应该有  I2C规范里也有

使用特权

评论回复
5
老鱼探戈| | 2010-11-15 17:19 | 只看该作者
主要是地址0xA0和0xA1的区别,这个位是读写控制位,
一个是写,一个是读,具体看看Datasheet和 AT24C02的地址定义

使用特权

评论回复
6
mailong| | 2010-11-20 05:50 | 只看该作者
看一下时序图,再根据程序运行机制的结果看一下。

使用特权

评论回复
7
donghcc|  楼主 | 2010-11-21 21:40 | 只看该作者
谢谢 了

使用特权

评论回复
8
原野之狼| | 2010-11-22 01:59 | 只看该作者
why? 龟腚!
看看数据手册吧 呵呵

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

58

帖子

1

粉丝