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

HAL_I2C_IsDeviceReady用途

[复制链接]
matttsai 提问时间:2018-4-30 14:38 /
请问一下, 在I2C init完之后, 需要call HAL_I2C_IsDeviceReady()这一支function吗

如果这一支function返回的是not ready
这时去读I2C是否很容易造成Bus busy(ISR BUSY bit一直被设为1)

我是不是一定要先check device 是否ready后再去读I2C?

Thanks

收藏 评论5 发布时间:2018-4-30 14:38

举报

5个回答
wenyangzeng 回答时间:2018-4-30 15:19:45
IIC器件一般是被动器件,等待主机发送指令后执行操作。楼主应该阅读所操作的IIC器件说明,根据相关时序发送指令、接收数据。

评分

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

查看全部评分

matttsai 回答时间:2018-4-30 16:42:57
wenyangzeng 发表于 2018-4-30 15:19
IIC器件一般是被动器件,等待主机发送指令后执行操作。楼主应该阅读所操作的IIC器件说明,根据相关时序发送 ...


我有时候会有遇到Busy bit一直为1的情况
在这种情况下, I2C就无法再使用了
I2C ISR的busy bit为什么会被一直设为1??


Thanks
wenyangzeng 回答时间:2018-4-30 17:53:27
matttsai 发表于 2018-4-30 16:42
我有时候会有遇到Busy bit一直为1的情况
在这种情况下, I2C就无法再使用了
I2C ISR的busy bit为什么会被 ...

如果在等待器件发来应答信号时被某个中断例程打断,就可能出现这种情况
matttsai 回答时间:2018-4-30 21:07:47
wenyangzeng 发表于 2018-4-30 17:53
如果在等待器件发来应答信号时被某个中断例程打断,就可能出现这种情况 ...

除了中断, 还有其他因素吗
目前观查, 似乎没有看到中断

Thanks
wenyangzeng 回答时间:2018-4-30 21:14:01
matttsai 发表于 2018-4-30 21:07
除了中断, 还有其他因素吗
目前观查, 似乎没有看到中断

STM32的IIC最好用软件模拟方式。

所属标签

相似问题

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