[ZLG-MCU] 有关ZLG光盘中的I2C软件包

[复制链接]
2241|0
 楼主| id001 发表于 2008-5-15 10:13 | 显示全部楼层 |阅读模式
&nbsp;有关字节数据发送函数&nbsp;void&nbsp;&nbsp;SendByte(uchar&nbsp;c)中的检查应答位判断,<br />源码中是:<br />&nbsp;&nbsp;if(!HWREG(GPIO_PORTB_BASE&nbsp;+&nbsp;(GPIO_O_DATA&nbsp;+&nbsp;(SDA&nbsp;&lt&lt&nbsp;2))))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//判断是否接收到应答信号<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ack=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//无应答<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ack=1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//有应答<br /><br />请问怎么是:&nbsp;if(!HWREG(GPIO_PORTB_BASE&nbsp;+&nbsp;(GPIO_O_DATA&nbsp;+&nbsp;(SDA&nbsp;&lt&lt&nbsp;2))))&nbsp;呢??<br />&nbsp;&nbsp;&nbsp;<br />I2C时许中有应答才是0,无应答是1的阿??????????<br /><br />另外,我发现i2c软件包中的代码在检测应答位时没有将SDA引脚的GPIO方向设置成输入,而是在SDA引脚输出的模式下直接去检测SDA的电平??请问是为什么???<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

107

帖子

0

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