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)