打印

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

[复制链接]
2615|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hzocce|  楼主 | 2010-11-12 13:56 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
沙发
armmage| | 2010-11-12 15:36 | 只看该作者
ZLG 的书有认真看过么? 没有? 认真看完再说

使用特权

评论回复
板凳
hzocce|  楼主 | 2010-11-12 18:49 | 只看该作者
看不懂!
看懂了我需要问吗?
给个代码吧??????????谢谢了

使用特权

评论回复
地板
zhangyuabc101| | 2010-11-14 12:43 | 只看该作者
回答这个问题,你首先需要搞清楚什么时候需要发送重复起始条件。我的理解是:在读I2c时,首先发送从器件地址+W 和从器件内部子地址以后 需要发送重复起始条件,然后再发送从器件地址+R。所以周立功的I2c软件包中中断程序发送重复起始条件就是在上述条件下编写的。你可以按照这种思路再看一下那个软件包,我也是初学者,还望高手指正

使用特权

评论回复
5
hzocce|  楼主 | 2010-11-15 08:11 | 只看该作者
没有找到。ZLG的读取24C02的根本就没有用到重复发起开始信号。

谁给个代码?
谢谢了

使用特权

评论回复
6
hzocce|  楼主 | 2010-11-15 17:19 | 只看该作者
DING!

使用特权

评论回复
7
hzocce|  楼主 | 2010-11-16 08:27 | 只看该作者
在线等~~~

使用特权

评论回复
8
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又没有用呀???

使用特权

评论回复
9
hzocce|  楼主 | 2010-11-18 15:04 | 只看该作者
顶上去

使用特权

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

本版积分规则

127

主题

561

帖子

4

粉丝