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有影响?






0条回答

一周热门 更多>