
资深工程师
  
- 积分
- 18737
- 在线时间
- 143 小时
- 精华
- 0
- 注册时间
- 2011-8-29
- 最后登录
- 2019-2-20
|
BitStatus IIC_BUSY(void)
{
BitStatus bit_status;
bit_status=(I2C->SR3&0X02)>>1;
if(bit_status==1) //忙
{
iic_bucy_count++;
if(iic_bucy_count>5) //计算忙的次数
I2C->CR2|=0X80; //软件复位
if(iic_bucy_count>100) //计算忙的次数
{
I2C->CR1&=~0X01; // PE off i2C
iic_bucy_count=0;
}
return 1;
这样可以解决一直处于总线已经为高电平 ,还为忙的情况 ; |
|