有关字节数据发送函数 void SendByte(uchar c)中的检查应答位判断,<br />源码中是:<br /> if(!HWREG(GPIO_PORTB_BASE + (GPIO_O_DATA + (SDA << 2)))) //判断是否接收到应答信号<br /> ack=0; //无应答<br /> else <br /> ack=1; //有应答<br /><br />请问怎么是: if(!HWREG(GPIO_PORTB_BASE + (GPIO_O_DATA + (SDA << 2)))) 呢??<br /> <br />I2C时许中有应答才是0,无应答是1的阿??????????<br /><br />另外,我发现i2c软件包中的代码在检测应答位时没有将SDA引脚的GPIO方向设置成输入,而是在SDA引脚输出的模式下直接去检测SDA的电平??请问是为什么???<br /> |
|