STM32读IO口状态会影响硬件IIC?
2019-07-14 23:13发布
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
tica, SimSun, sans-serif">请教各位大侠,我直接调用STM32的库来写的程序,
在定时中断里读MPU6050,来做速度积分的,用硬件IIC操作(PB6,PB7),
读操作里有下面这些函数,只是截了一段,其他都差不多的。
意思是IIC读写操作,长时间没正常返回则把Error_IIC=1;
//-------------------------------------------------------------------------------------
/* 发送器件地址(写)*/
I2C_Send7bitAddress(I2C1, SlaveAddress, I2C_Direction_Transmitter);
error_count = 0;
while((!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED))&&(Error_IIC == 0))
{
error_count++;
if(error_count>TIME_IIC_ERR)
{
Error_IIC = 1;
}
}
//------------------------------------------------------------------------------------
单独的读写操作是正常的。直到有一次我在main()函数里想读PB5端口的状态
GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_5)
//------------------------------------------------------------------------------------
Error_IIC 就一直被置高了,说明IIC读写出了问题。
//------------------------------------------------------------------------------------
读IO为什么会对硬件IIC有影响?
一周热门 更多>