HAL_I2C_Mem_Read()读取I2C失败

2019-07-14 14:42发布

我用HAL_I2C_Mem_Read()去读取ti AFE的register
在power on/reset之后, 不是百分之百, 但有时候会发生MCU一直读取I2C失败的情况

请问一下会是什么问题造成吗?

Thanks
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
TOPCB
1楼-- · 2019-07-14 16:41
发生时监听一下I2C波形,看一下是否因为操作问题导致I2C总线进入忙状态。I2C返回的结果是什么?
跨界F16
2楼-- · 2019-07-14 21:58
对于IIC  我一直认为应该用硬件模拟更可靠
sunbingfeng
3楼-- · 2019-07-15 00:50
I2C返回是HAL_TIMEOUT

目前遇到的情况有3
1. power on之后, 第一次就读取OK
2. power on之后, 前几次读取失败, 之后就一直读取OK
3. power on之后, 一直都读取失败, 没有读取I2C成功过

第2种情况, 只要retry就可以解决了
但如果是第3种情况, 就无法读取到I​​2C, 这一种情况会是什么原因造成?

Thanks
山川1998
4楼-- · 2019-07-15 05:05
问下 你说的 硬件模拟是什么意思?我看代码 有两种方式 一种是软件模拟IIC时序 一种是库函数IIC
跟你说的是一回事儿吗?

lee_st
5楼-- · 2019-07-15 08:42
 精彩回答 2  元偷偷看……
lee_st
6楼-- · 2019-07-15 11:45
时钟没有配置好

一周热门 更多>