STM32/STM8技术william hill官网
直播中

鲁瑶

7年用户 186经验值
私信 关注
[问答]

HAL_I2C_Mem_Read()读取I2C失败

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

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

Thanks

回帖(7)

李诗晴

2019-1-9 09:19:15
顶上去
举报

孙婷婷

2019-1-9 09:34:16
发生时监听一下I2C波形,看一下是否因为操作问题导致I2C总线进入忙状态。I2C返回的结果是什么?
举报

庞兴玉

2019-1-9 09:51:03
对于IIC  我一直认为应该用硬件模拟更可靠
举报

鲁瑶

2019-1-9 09:58:57
I2C返回是HAL_TIMEOUT

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

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

Thanks
举报

李星童

2019-1-9 10:15:43
问下 你说的 硬件模拟是什么意思?我看代码 有两种方式 一种是软件模拟IIC时序 一种是库函数IIC
跟你说的是一回事儿吗?

举报

lee_st

2019-1-9 11:41:21
驱动问题了
举报

lee_st

2019-1-9 11:41:31
时钟没有配置好
举报

更多回帖

发帖
×
20
完善资料,
赚取积分