你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

2C初始化后, I2C ISR BUSY bit为什么一直为1

[复制链接]
matttsai 提问时间:2018-4-27 09:57 /
我使用HAL lib, 在MX_I2C1_Init()完之后,
有时候会有I2C ISR register的BUSY bit一直为1的情况出现
如果BUSY bit一直为1, 那我就会一直无法读取I2C
请问一下为什么会发生这个问题, 要怎么解决?
这是ST的bug吗?

Thanks

收藏 评论3 发布时间:2018-4-27 09:57

举报

3个回答
hungchieh1029 回答时间:2018-5-3 10:55:53

HAL_I2C_MspInit()
{
  __HAL_RCC_I2C1_CLK_ENABLE();
  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
}

這個方法你先試試看
先開啟I2C Clock
在設定IO

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

butterflyspring 回答时间:2018-5-7 12:30:50
你可以开始就清除,或者你看一下在初始是,IIC bus是否有电平变化..有变化也会导致busy,busy位是对外界因数的检测结果.

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

xmshao 回答时间:2018-5-9 16:02:41
STM32系列众多,即使相同外设或许存在细微差异,咨询问题尽量告知详细的完整芯片型号,不要只说SM32F407,stm32f103啊,甚至stm32;
很多问题跟管脚数、flash容量还有关。。。。。。

楼主提到的标志指示硬件检查结果的反馈;你得检查硬件连接和软件操作步骤;

附件资料你可以看看。

I2C配置顺序引发的异常案例.pdf

下载

232.61 KB, 下载次数: 22, 下载积分: ST金币 -1

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版