打印

请教24c02

[复制链接]
2002|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
myhmz|  楼主 | 2007-8-6 09:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
24c02我看了好几天,但还是有点不懂,想请教

void I2C_Start()
{
        SDA=1;
        delay();
        SCL=1;
        delay();
        SDA=0;
        delay();
        SCL=0;//钳位I2C总线,准备发送数据
}

1,这是启动24c02,说的是当scl=1, sda从1变成0,就是信号开始,但是如果
   在传输过程中也满足这个要求,会不会被误认为“开始”信号?

2   bp=WriteNByte(0xa0,0x00,ucSendBuffer,8);这行程序中的0xa0,是24c02的
    地址,它一直都是0xa0吗???
    还有就是0x00,ucsendbuffer,8,分别是什么意思?

3, uint idata ucReceData; 为什么用idata,而不能写成 unint ucrecedata? 

    问的比较多

相关帖子

沙发
conwh| | 2007-8-6 10:19 | 只看该作者

仔细看一下协议,只要满足它们的条件,就是相应的状态

使用特权

评论回复
板凳
ayb_ice| | 2007-8-6 10:54 | 只看该作者

随便说说

前两个问题和IIC协议有关,建议看协议...
最后一个是KEIL C51有关,建议看C51的有关资料...

使用特权

评论回复
地板
zhaoyu2005| | 2007-8-6 11:23 | 只看该作者

俺来洒点水

1.在传输过程中不允许出现启动信号的情况,会出错,建议看datasheet
2.0xa0是写地址,只要电路不动,器件的地址就一直固定,根据函数的功能判断0x00,是要写的数据在24C02内的起始地址,ucSendBuffer,是待写数据在缓冲区首地址,8是要写的数据的个数

使用特权

评论回复
5
myhmz|  楼主 | 2007-8-6 11:37 | 只看该作者

还有

 还有就是,如果scl连续两次低电平,就是代表应答信号吗?

使用特权

评论回复
6
myhmz|  楼主 | 2007-8-6 12:00 | 只看该作者

24c02

24c02的地址是:1010 0000 其中,1010是器件地址,最后一位是读写控制,那么中间000是代表什么??可不可以是其他的??datasheet上好像没讲

使用特权

评论回复
7
diannaoza| | 2007-8-6 14:33 | 只看该作者

那么中间000是代表什么??

代表0-7,从器件的地址,也就是说一条总线上可以挂8个I2c

使用特权

评论回复
8
gjg191| | 2007-8-6 14:51 | 只看该作者

dd

datasheet 上有说明的,冒失都很懒啊!!

使用特权

评论回复
9
myhmz|  楼主 | 2007-8-6 16:36 | 只看该作者

看了

又一遍,终于知道为什么是:0xa0了,但是对应答,测试应答,有点迷糊。。。

使用特权

评论回复
10
myhmz|  楼主 | 2007-8-7 13:49 | 只看该作者

还有这个应答

bit testack()
{    bit errorbit;
        SCL=1;
        SDA=1;
        errorbit=SDA;
        SCL=0;           
        return(errorbit);

还有这个应答程序不知该如何题解?

使用特权

评论回复
11
maychang| | 2007-8-7 13:52 | 只看该作者

再看看datasheet

多看几遍,就理解了。尤其要注意看时序图。

使用特权

评论回复
12
myhmz|  楼主 | 2007-8-7 13:58 | 只看该作者

还有

我不知道SDA=(bit)(input&0x80);中这个是怎么运算的,bit是位运算吗,这个运算后的结果是多少?

使用特权

评论回复
13
kukucat| | 2007-8-7 15:53 | 只看该作者

bit加上括号是把(input&0x80)强制转换成位类型然后赋值给SDA

使用特权

评论回复
14
gjg191| | 2007-8-7 15:57 | 只看该作者

dd

强制类型转换

使用特权

评论回复
15
myhmz|  楼主 | 2007-8-7 18:01 | 只看该作者

那么

那么,就是强制转换为0,或1,但什么时候转成0,何时转成0??

使用特权

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

本版积分规则

8

主题

41

帖子

0

粉丝