打印

I2C一直卡在了while(!i2c_flag_get(I2C0, I2C_FLAG_ADDSEND));

[复制链接]
2763|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
阿白809|  楼主 | 2023-11-7 19:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
FlagStatus i2c_flag_get(uint32_t i2c_periph,uint32_t flag )
{
    uint32_t reg = 0U;
    FlagStatus reval = RESET;
    /* get the flag in which register */
    reg = (BIT(31) & flag);
    if((BIT(31) == reg)){
        if((I2C_STAT1(i2c_periph)&(flag & I2C_FLAG_MASK))){
            reval = SET;
        }else{
            reval = RESET;
        }
    }else{
        if((I2C_STAT0(i2c_periph)&(flag & I2C_FLAG_MASK))){
            reval = SET;
        }else{
            reval = RESET;
        }
    }
    /* return the flag status */
    return reval;
}
这是代码部分,最后的if语句输入一直是RESET,这个问题究竟是什么原因???

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝