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

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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版