GD32VF103R-START 和 GD32VF103C-START 的主要区别在于 芯片封装和引脚分配,导致 LED 连接的 GPIO 不同。以下是详细分析和 LED 不亮的原因:
| 特性 | GD32VF103R-START | GD32VF103C-START |
|---|---|---|
| 主控芯片 | GD32VF103RBT6 (LQFP64) | GD32VF103CBT6 (LQFP48) |
| 用户 LED 位置 | PC13 | PA7 |
| 封装 | 64 引脚更多,外设更丰富 | 48 引脚,更紧凑 |
| 板载资源 | 相同(调试器、按键等) | 相同 |
您将 C-START 的代码(控制 PA7)烧录到 R-START 板时,LED 未亮是因为:
引脚不匹配
PA7 时,R-START 的 PC13 无任何变化。硬件差异
PC13)。修改代码,将 LED 控制切换到 PC13:
// 替换原 PA7 初始化代码
rcu_periph_clock_enable(RCU_GPIOC); // 启用 GPIOC 时钟
gpio_init(GPIOC, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_13); // 配置 PC13 为推挽输出// 点亮 LED (R-START 是低电平点亮)
gpio_bit_reset(GPIOC, GPIO_PIN_13); // SET 或 RESET 取决于电路设计,通常查看板载 LED 电路
// 熄灭 LED
gpio_bit_set(GPIOC, GPIO_PIN_13);
注意:
- 确认 LED 电平逻辑:R-START 的 LED 通常是 低电平点亮(LED 阳极接 VCC,阴极接 PC13)。
- 如果仍不亮,尝试反转
gpio_bit_set/reset操作。
检查硬件连接
用万用表测量 PC13 引脚:
排查代码问题
GPIOC 时钟(RCU_GPIOC)。gpio_pin_remap_config(GPIO_SWJ_SWDPENABLE_REMAP, ENABLE); // 禁用 JTAG,释放 PC13PA7 替换为 PC13,并验证电平逻辑。 #if defined(TARGET_GD32VF103C_START)
#define LED_PORT GPIOA
#define LED_PIN GPIO_PIN_7
#elif defined(TARGET_GD32VF103R_START)
#define LED_PORT GPIOC
#define LED_PIN GPIO_PIN_13
#endif修改后重新烧录程序,R-START 的 LED 即可正常工作。
举报
更多回帖