打印

请教GD32F450的I2C无法配置问题

[复制链接]
999|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
njufoolfish|  楼主 | 2020-7-9 23:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
碰到一个很奇怪的问题:

F450官方评估板,I2C例程,完全正常
重新画了两块板子,分别用144和100脚的两个芯片,同样的程序,都碰到I2C无法配置的问题

开发板用的I2C0,上电后RT寄存器有值0x02,初始化后各寄存器都相应变化;
新板子用的I2C1,PB10/11,上电后RT寄存器0x00,初始化过程寄存器值全部是0,不知道什么原因?

新板子的I2C0悬空,用开发板一模一样程序,初始化时,寄存器同样无变化

使用特权

评论回复
沙发
WESTARK| | 2020-7-12 14:54 | 只看该作者
请教一下,我的板子也是GD32F450,I2C引脚用的是PF1和PF2,但用硬件I2C调试时卡在ADDSEND那里,ADDSEND位不复位是什么样的问题啊,困扰我好几天了

使用特权

评论回复
评论
castle520 2020-11-3 17:33 回复TA
@WESTARK :PF0和PF1板子上没接上拉电阻,IIC做主机时,SCL和SDA都需要上拉电阻才可以 
WESTARK 2020-7-12 14:59 回复TA
说错了,是PF0和PF1 
板凳
subject| | 2020-9-14 19:39 | 只看该作者
我也碰到相同的问题,楼主解决了吗?

使用特权

评论回复
地板
huquanz711| | 2020-9-16 07:34 | 只看该作者
外部晶体频率是否一样

使用特权

评论回复
5
明天真的好| | 2020-9-17 19:24 | 只看该作者
新板子用的I2C1,PB10/11,上电后RT寄存器0x00,初始化过程寄存器值全部是0,不知道什么原因?

使用特权

评论回复
6
答案很长吧| | 2020-9-18 17:16 | 只看该作者
重新画了两块板子,分别用144和100脚的两个芯片,同样的程序,都碰到I2C无法配置的问题

使用特权

评论回复
7
lalallalala| | 2020-9-23 23:55 | 只看该作者
  rcu_periph_clock_enable(RCU_GPIOC);
    rcu_periph_clock_enable(RCU_GPIOE);

使用特权

评论回复
8
hb562091033| | 2020-9-27 17:11 | 只看该作者
更改下I2C从设备地址试试呢?碰到过类似的问题,有点印象是更改地址弄的

使用特权

评论回复
9
castle520| | 2020-11-3 17:28 | 只看该作者
I2C有加上拉电阻吗?建议在SCL和SDA分别加一个4.7K的上拉电阻

使用特权

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

本版积分规则

6

主题

15

帖子

1

粉丝