• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

stm32标准库硬件iic问题

day_day 2018-08-19 浏览量:828

还是想看看硬件iic到底是什么问题,其他元件就一个串口屏,应该不会影响iic时序的,但还是卡这里了:

听说自己加超判断可以修改,但超时的话不就证明接收失败了吗?据说st的iic本身是没有问题的,应该怎么改才能勉强可用呢

@UWHKPBZCRTSZ40A6TLG[P9.png

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 硬件IIC的标准库是有bug的,要使用HAL库中的硬件IIC才可以的
    • 发布于 2018-08-20
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:13

  • 标准库的IIC有问题的,换HAL库的硬件IIC试试,也可以参考一下中移动的onenet的开发板例程,此开发板的例程就是使用的硬件IIC。
    • 发布于2018-08-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 自己加超时判断 如果失败就继续发送 一般不会长时间连续失败

    如果是长时间失败 没有成功过 说明代码有问题

    • 发布于2018-08-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 请使用HAL库,已经规避了这个bug,原来的库是有bug的
    • 发布于2018-08-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 先使用软件模拟的IIC试试,看看能不能通讯上吧 ,要是可以,就是库的问题了
    • 发布于2018-08-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 标准的库存在IIC操作的bug,目前的HAL已经解决了,可以用HAL来操作
    • 发布于2018-08-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 标准库是有这个BUG,加入超时判断会卡死,所以唯一解决方法是使用HAL库,使用CubeMX重新生成I2C的工程。

    • 发布于2018-08-26
    • 举报
    • 评论 0
    • 0
    • 0

  • STM32的标准库里面硬件I2C有BUG,这里解决方法是要加个超时,放弃此次操作,然后下次再尝试通信,只是会丢掉一次数据而已

    如果想避免这个BUG,最好还是用新版HAL库下面的硬件I2C,那里面就没这个BUG

    • 发布于2018-08-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个标准库是存在bug,推荐使用HAL库来操作,HAL库解决了这个bug
    • 发布于2018-09-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个标准库是存在bug,推荐使用HAL库来操作,HAL库解决了这个bug
    • 发布于2018-09-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 标准库的IIC有bug,用HAL库就不会有这个问题
    • 发布于2018-09-19
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

stm32标准库硬件iic问题