|
在调试I2C的时候ADDR位为什么会自动的清零???
[复制链接]
本帖最后由 electrics 于 2016-11-21 20:24 编辑
两个函数如下:
void Write_Address(u8 Address) //写地址
{
I2C2->DR = Address;
}
void Wait_Clear_Address() //等待并清理地址位
{
u8 temp;
while(!(I2C2->SR1&1<<1)); //等待应答,并置位
temp = I2C2->SR1;
temp = I2C2->SR2;
while(I2C2->SR1&1<<1); //判断是否清零,如果没清零就停在这里!!!!!
}
在调试时进入第一个函数ADDR是为1的,但是在出第一个函数,进入第二个函数时ADDR就直接变为0了??????????
|
|