[ZLG-ARM] 几个I2C的弱弱的问题...

[复制链接]
2392|8
 楼主| huangbingg 发表于 2008-4-2 23:36 | 显示全部楼层 |阅读模式
周工好:<br />   几个地方看不太明白,这里问下:<br />问1.你们资料,I2C线上进行多字节数据传输时,按你们的接口函数,如:ISendStr,里面通过"I2CONSET&nbsp;=&nbsp;0x60;"将起始位置1,即发送起始条件后,那传完1字节在传第2字节前还会不会再发起始条件?<br /> 若不会的话为啥你们的 IRQ_I2C 中的每个&nbsp;case里最后都要&nbsp;I2CONCLR&nbsp;=&nbsp;0x28(0x2C),这不是又在清0起始位吗??<br /><br />问2.IRQ_I2C中有这么一句:<br />    " case&nbsp;&nbsp;0x08:&nbsp;&nbsp;&nbsp;//&nbsp;己发送起始条件<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;     if(1==I2C_suba_en)&nbsp;I2DAT&nbsp;=&nbsp;I2C_sla&0xFE;&nbsp;&nbsp;&nbsp;<br />          //&nbsp;指定子地址读时,先写入地址 "右边与上0xFE与后面注解实在联系不起来,周工解释下好吗??<br />两疑问,小弟万分感激!!!
zlgarm 发表于 2008-4-3 14:38 | 显示全部楼层

Re

huangbingg&nbsp;您好:<br />I2CONCLR是清除I2CONSET的置位,方便下一次的I2C操作;I2C_sla包含地址和读写位(最低位)。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;On&nbsp;duty:&nbsp;zlgarm_liuzhaofu
 楼主| huangbingg 发表于 2008-4-3 14:50 | 显示全部楼层

这些我知道

我的意思是:多字节数据传输时,按你们的接口函数,如:ISendStr,里面通过"I2CONSET&nbsp;=&nbsp;0x60;"将起始位置1,即发送起始条件后,那传完1字节在传第2字节前还会不会再发送起始条件?<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;就发一次对不?<br /><br />
 楼主| huangbingg 发表于 2008-4-3 15:36 | 显示全部楼层

就确定下我

呵呵
 楼主| huangbingg 发表于 2008-4-3 15:54 | 显示全部楼层
 楼主| huangbingg 发表于 2008-4-3 17:10 | 显示全部楼层

另外:

  假如当主机发送一数据后(或只是发了SLA+W),若改为主机读,则要I2CONSET&nbsp;=&nbsp;0x20,即重新启动总线对吧?&nbsp;&nbsp;&nbsp;<br />  这样当再次进如I2C中断检测到I2STAT=0x10(即已发送重新启动条件)时:器件地址(即从地址)I2C_sla的最低位是不是已经由硬件置1???(重新启动总线前是0)  所以才有&nbsp;<br />       case&nbsp;&nbsp;0x10:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;      &nbsp; I2DAT&nbsp;=&nbsp;I2C_sla;&nbsp;<br />             ...&nbsp;&nbsp;&nbsp;&nbsp;<br />  反之亦然!<br /><br />  周工只要告诉我,我的理解对吗?????  谢谢!!!!!!!!!
 楼主| huangbingg 发表于 2008-4-6 13:14 | 显示全部楼层

顶上来!!!

,,,谢周工!!!
 楼主| huangbingg 发表于 2008-4-7 20:41 | 显示全部楼层

我的问题在6楼

只求个肯定或否定的说法,,,谢谢!!!
zlgarm 发表于 2008-4-8 10:39 | 显示全部楼层

To huangbingg

huangbingg您好:<br />&nbsp;&nbsp;&nbsp;&nbsp;关于IIC的读写操作,您可以参考《嵌入式系统基础教程》210页内容和仔细阅读我们公司为您提供的IIC函数包。在函数包的IIC读取数据的函数包中,有地址的转换。<br />By&nbsp;zlgarm_glh
您需要登录后才可以回帖 登录 | 注册

本版积分规则

58

主题

270

帖子

0

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