打印

GD32F450 硬件IIC读24C64异常

[复制链接]
1373|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hab2017|  楼主 | 2021-11-17 10:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
由于目前项目赶得很紧,不啰嗦了,直接入题。

MCU:GD32F450IIH6
主频:180MHz
系统:uC/OS-III
软件库:HAL

问题描述:
       上电初始化,相关任务都正常。后来加入设备参数初始化,即从EEPROM(24C64)芯片里读出所存储的参数。我的参数分12组,每组4个参数,每个参数2字节。连续读6组都正常,超过6组发现IIC报总线BUSY错误。

由于此前MCU使用STM32F429,没出现上述问题,于是互换了两个主板的24C64问题依旧,排除买到水货问题。

既然读6组无事,再读就多报BUSY,于是降速50K,上述问题不再出现;突发奇想,增速到200K,300K,350K上述问题也不再出现。改回100K问题重现(没仔细测试,应该是80-120K这个范围都存在这个问题)。

因为项目进度要求,没有时间深挖原因,但需要重视,毕竟后续大量项目要换成这个芯片。在此贴出来,如果哪位朋友遇到过这个问题,请多交流。

使用特权

评论回复
沙发
aozima| | 2021-11-17 11:08 | 只看该作者
检查时序用逻辑分析仪,
检查上拉电阻和负载电容是否匹配用示波器。

今天放过去,大批量或使用环境变化时就死得很惨!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

22

帖子

0

粉丝