个人中心 - GD32 MCU 开发者社区

Kiona Luo
LV.1
Kiona Luo LV.1
2026年7月13日
4 评论
3 天前 活跃
91 次浏览
1
0
4
Kiona Luo
3 天前

1.程序停在while(!i2c_flag_get(I2C0, I2C_FLAG_ADDSEND));的问题

出在前面i2c_master_addressing(I2C0, addr << 1, I2C_TRANSMITTER);

iic驱动的传感器地址地址不对,没有得到从机应答,当时是使用的QMC5883P模组,以为用的是QMC5883L导致地址弄错了,QMC5883P和QMC5883L寄存器地址也不一样,目前已解决问题

2.使用之前能行的通的程序怎么也是卡在while(i2c_flag_get(I2C0, I2C_FLAG_I2CBSY));的问题

发现引脚vcc gnd都接到gnd上面了才导致出现这样子的问题

Kiona Luo LV.1
2026年7月10日
1 评论
活跃 时间:2026-07-13
69 次浏览
0
0
1
JSM-朱工
时间:2026-07-13

大概率是主频有问题,可以改成内部时钟试试

在使用GD32F407ZET6的iic的时候遇到卡死在 while(!i2c_flag_get(I2C0, I2C_FLAG_ADDSEND)); 以及 while(i2c_flag_get(I2C0, I2C_FLAG_I2CBSY));
Kiona Luo
时间:2026-07-14

1.程序停在while(!i2c_flag_get(I2C0, I2C_FLAG_ADDSEND));的问题

出在前面i2c_master_addressing(I2C0, addr << 1, I2C_TRANSMITTER);

iic驱动的传感器地址地址不对,没有得到从机应答,当时是使用的QMC5883P模组,以为用的是QMC5883L导致地址弄错了,QMC5883P和QMC5883L寄存器地址也不一样,目前已解决问题

2.使用之前能行的通的程序怎么也是卡在while(i2c_flag_get(I2C0, I2C_FLAG_I2CBSY));的问题

发现引脚vcc gnd都接到gnd上面了才导致出现这样子的问题

在使用GD32F407ZET6的iic的时候遇到卡死在 while(!i2c_flag_get(I2C0, I2C_FLAG_ADDSEND)); 以及 while(i2c_flag_get(I2C0, I2C_FLAG_I2CBSY));
Kiona Luo
时间:2026-07-13

SDA SCL引脚配置GPIO输出高低电平是正常的,示波器上是有看到高低电平的波动

暂无内容

相关内容会显示在这里,期待您的分享与发现。

暂无内容

相关内容会显示在这里,期待您的分享与发现。

暂无内容

相关内容会显示在这里,期待您的分享与发现。

暂无内容

相关内容会显示在这里,期待您的分享与发现。

确定删除吗?
删除后无法恢复,请确认后操作!
编辑