GD32 GPIO — 按键轮询检测

GD32 GD32F30x_Firmware_Library V3.0.3 GPIO 按键轮询检测 示例教学

GPIO — 按键轮询检测

固件库: GD32F30x_Firmware_Library V3.0.3
芯片: GD32
源文件: GD32F30x_Firmware_Library_V3.0.3/Examples/GPIO/Keyboard_polling_mode/main.c


功能简介

本示例演示 GPIO 的基本输出功能。GPIO(通用输入输出)是 MCU 与外部世界交互的最基础接口。

硬件准备

  • 开发板上的 LED 灯(通常连接在 PA5、PB0、PB1 等引脚)
  • 无需额外接线

完整代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "gd32f30x.h"
#include "systick.h"
#include "gd32f307c_eval.h"
#include <stdio.h>

int main(void)
{
    systick_config();
    gd_eval_led_init(LED2);
    gd_eval_key_init(KEY_TAMPER,KEY_MODE_GPIO);

    while(1){
        /* check whether the button is pressed */
        if(RESET == gd_eval_key_state_get(KEY_TAMPER)){
            delay_1ms(100);

            /* check whether the button is pressed */
            if(RESET == gd_eval_key_state_get(KEY_TAMPER)){
                gd_eval_led_toggle(LED2);
            }
        }
    }
}

代码讲解

代码结构清晰,主要包含外设初始化配置和主循环中的功能逻辑。请结合注释理解每一步的含义。

实验现象

  • 对应 GPIO 引脚电平交替翻转
  • 可用示波器或 LED 观察

注意事项

  • 确认 LED 连接的引脚与代码中一致
  • 输出模式一般选择推挽输出(Push-Pull)
世界是你们
使用 Hugo 构建
主题 StackJimmy 设计