参考于
出现的问题:
以以下代码为例,这里有3个警告
//接收应答,主机接收一个字节
uint8_t MyI2C_ReceiveAck(void)
{
uint8_t AckBit;
MyI2C_W_SDA(1);//主机释放SDA,从机把数据放在SDA
MyI2C_W_SCL(1);//主机释放SCL,读取数据
AckBit=MyI2C_R_SDA();
MyI2C_W_SCL(0);//把SCL拉低,这个时候从机就会把下一位的数据放在SDA上
return AckBit;
}
在gpio.c的文件中找到
把数字1/0换成GPIO_PIN_RESET/GPIO_PIN_SET,警告消失
//接收应答,主机接收一个字节
uint8_t MyI2C_ReceiveAck(void)
{
uint8_t AckBit;
MyI2C_W_SDA(GPIO_PIN_SET);//主机释放SDA,从机把数据放在SDA
MyI2C_W_SCL(GPIO_PIN_SET);//主机释放SCL,读取数据
AckBit=MyI2C_R_SDA();
MyI2C_W_SCL(GPIO_PIN_RESET);//把SCL拉低,这个时候从机就会把下一位的数据放在SDA上
return AckBit;
}
对于这种代码
找到定义
进行修改,即可解决