Key 按键
1.实验目的
通过本实验,掌握以下技能:
- 理解 FPIOA 的作用和使用方法
- 掌握 GPIO 引脚输入与输出的配置方式
- 实现通过两个按键控制 LED 灯的 点亮和熄灭
2.原理解析
K230 的引脚功能是通过 FPIOA(灵活外设输入输出阵列)模块进行配置的,用户可以将任意物理引脚映射为所需功能,例如 GPIO 输入/输出、UART、PWM 等。
本实验中:
- 使用 FPIOA 将引脚 52 设置为 GPIO 输出,连接 LED;
- 使用 FPIOA 将引脚 46 和 47 设置为 GPIO 输入,接入两个按键;
- 按下 GPIO46,点亮 LED;
- 按下 GPIO47,熄灭 LED。
我们可以通过查看原理图看到两个按键连接的GPIO。

按键在硬件上的位置:

3.代码解析
from machine import Pin, FPIOA
- 从
machine模块中导入Pin和FPIOA类。 Pin用于操作 GPIO 引脚(设置输入、输出、读取电平等)FPIOA用于将物理引脚映射到不同的功能(例如普通 GPIO、UART、PWM 等)
import time
- 导入
time模块,用于延时(如消抖或避免主循环过快)
fpioa = FPIOA()
- 创建一个
FPIOA实例对象,用来配置引脚映射关系。
设置 LED 引脚功能(多个)
io_pins = [5, 13, 12, 33, 2, 28, 26]
for pin_num in io_pins:
gpio_func = getattr(FPIOA, f'GPIO{pin_num}')
fpioa.set_function(pin_num, gpio_func)
- 定义 LED 使用的物理引脚列表
io_pins。 - 遍历每个引脚号,通过
getattr动态获取对应的 GPIO 功能常量(例如FPIOA.GPIO5)。 - 调用
fpioa.set_function()将物理引脚映射为同号的 GPIO 功能。
设置按键引脚功能(多个)
key_pins = [14, 18, 29, 27]
for pin_num in key_pins:
gpio_func = getattr(FPIOA, f'GPIO{pin_num}')
fpioa.set_function(pin_num, gpio_func)
- 定义按键使用的物理引脚列表
key_pins