lpc2103 i2c如何发出重复开始I2C信号???

[复制链接]
3744|8
 楼主| hzocce 发表于 2010-11-12 13:56 | 显示全部楼层 |阅读模式
如图,I2C没有停止的情况下,如何发出重复开始信号????

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
armmage 发表于 2010-11-12 15:36 | 显示全部楼层
ZLG 的书有认真看过么? 没有? 认真看完再说
 楼主| hzocce 发表于 2010-11-12 18:49 | 显示全部楼层
看不懂!
看懂了我需要问吗?
给个代码吧??????????谢谢了
zhangyuabc101 发表于 2010-11-14 12:43 | 显示全部楼层
回答这个问题,你首先需要搞清楚什么时候需要发送重复起始条件。我的理解是:在读I2c时,首先发送从器件地址+W 和从器件内部子地址以后 需要发送重复起始条件,然后再发送从器件地址+R。所以周立功的I2c软件包中中断程序发送重复起始条件就是在上述条件下编写的。你可以按照这种思路再看一下那个软件包,我也是初学者,还望高手指正
 楼主| hzocce 发表于 2010-11-15 08:11 | 显示全部楼层
没有找到。ZLG的读取24C02的根本就没有用到重复发起开始信号。

谁给个代码?
谢谢了
 楼主| hzocce 发表于 2010-11-15 17:19 | 显示全部楼层
 楼主| hzocce 发表于 2010-11-16 08:27 | 显示全部楼层
在线等~~~
 楼主| hzocce 发表于 2010-11-16 08:53 | 显示全部楼层
本帖最后由 hzocce 于 2010-11-16 08:55 编辑

#define STA (1<<5)
#define I2CEN (1<<6)
#define STO (1<<4)  
#define SI (1<<3)
#define AA (1<<2)

void i2cStart(void)
{
        I2C0CONSET=STA;
        
        do{}
                while(I2C0STAT!=0x08);//等待完成
               
        I2C0CONCLR=STA;  
}

这个是 正常开始的代码??
重复开始的怎么写呢???????

我知知道状态时 0x10, 但是吧08换成10又没有用呀???
 楼主| hzocce 发表于 2010-11-18 15:04 | 显示全部楼层
顶上去
您需要登录后才可以回帖 登录 | 注册

本版积分规则

133

主题

617

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部