初级会员

- 积分
- 64
- 金钱
- 64
- 注册时间
- 2016-3-11
- 在线时间
- 12 小时
|
1金钱
主要就是想问下为什么在最后一个字节还没读取就发送STOP的信号,不是应该在最后才发送STOP的信号么
while(NumByteToRead)
{
/* Test on EV7 and clear it */
if(I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_RECEIVED)) //检查最近一次 I2C事件是否是输入的事件
{
if(NumByteToRead == 2)
{
I2C_AcknowledgeConfig(I2C1, DISABLE);//使能或者失能指定 I2C的应答功能
}
if(NumByteToRead == 1)
{
I2C_GenerateSTOP(I2C1, ENABLE);//发送STOP信号
}
*pBuffer = I2C_ReceiveData(I2C1);//返回通过 I2Cx最近接收的数据
pBuffer++;
NumByteToRead--;
}
}
/* Enable Acknowledgement to be ready for another reception */
I2C_AcknowledgeConfig(I2C1, ENABLE);//使能或者失能指定 I2C的应答功能
|
|