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

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, 下载次数: 16, 下载积分: ST金币 -1

评分

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

查看全部评分

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版