CN / EN
CN / EN

提问

获得支持

您的项目私密技术问题如需获得一对一支持,请点击下方联系我们。

IIC出错后重新初始化失败 GR551x

Ives

2021-12-07 11:46

你好,

IIC上接了 2个器件:

1、8112和气压

2、100ms读气压,1S中断置标志读一次81123、然后运行一段时间后,IIC出错HAL_I2C_ERROR_OVER,

3,deinit后重新初始化IIC,返回忙。SCL仍然为低电平。

4、断开所有外设,Deinit后重新初始化IIC,仍然返回忙。SCL为低电平。

5,reset芯片后可以恢复。

请帮忙确认下进入 HAL_I2C_ERROR_OVER的原因是什么?重新初始化为什么不能恢复?SDK版本1.6.08


0收藏

0赞成

Ives

2021-12-07 15:09

补充下,这里的说的返回忙是调用IIC读写接口返回的。初始化返回的是成功的。

0条评论

0赞成

0收藏

您的评论

Ping

汇顶员工
2021-12-08 08:25

1. 返回HAL_I2C_ERROR_OVER原因是RX fifo溢出,可能的原因是接收过程中被其它中断打断,软件来不及读取,导致rx fifo溢出了,rx fifo长度为8Byte,建议改成DMA的方式验证;

2. 如果只是SCL被拉死,deinit init可以恢复,但SDA被拉死就只能复位,检查下是那种情况下的IIC挂死;

1条评论

0赞成

0收藏

您的评论

登录后可回答问题,请 注册

我们时刻倾听您的声音
联系销售

扫描关注公众号

打开微信,使用“扫一扫”即可关注