liehuf-notes liehuf-notes
首页
K230
Verilog
留言板
我的博客 (opens new window)
GitHub (opens new window)
首页
K230
Verilog
留言板
我的博客 (opens new window)
GitHub (opens new window)
  • 1.K230 简单介绍
  • 2.K230 micropython基础
  • 3.K230 FPIOA&GPIO - 一切的根源
    • 1. 本节介绍
    • 2. 名词速通卡
    • 3. FPIOA 与 GPIO 的关系
    • 4. 点亮一个 LED 的最小代码
    • 5. 加点交互:按键控制LED
    • 6. 解码一下这些操作
    • 7. 注意事项 & 小技巧
    • 8. 参考资料
    • 免责声明
  • 4.K230 PWM的玩法
  • 5.K230 UART-发送和接收
  • 6.K230 RTC-时间都去哪了
  • 7.我用定时器定时画个圈圈祝福你
  • 8.修勾别复位,我来喂你
  • 9.哈基摄,给我拍
  • 10.摄像头的基本素养-画面
  • 11.摄像头的猫-在画面上画画
  • K230
猎户f
2025-07-06
目录

3.K230 FPIOA&GPIO - 一切的根源

# FPIOA & GPIO - 一切的根源

# 1. 本节介绍

📝 本节我们来开启“点灯启蒙”第一课:你将学习如何用 K230 控制 GPIO 引脚,进而点亮 LED、读取按键输入。

🎯 学习目标:

1️⃣ 掌握 GPIO 的输出模式,点亮一盏 LED,为你通向硬件世界的第一步打光。
2️⃣ 理解 GPIO 的输入模式,识别按键状态,开启交互之门。


# 2. 名词速通卡

名词 含义说明
GPIO General Purpose I/O,芯片的“触手”
FPIOA 可编程I/O阵列,“功能分发中心”
IOMUX 引脚复用器,决定哪条信号接哪根脚
Pin MicroPython 提供的 GPIO 接口

# 3. FPIOA 与 GPIO 的关系

K230 的 GPIO 本质上是逻辑信号通道,而 FPIOA 决定它们的“出口在哪”。
你得先通过 FPIOA 把信号线接出去,才能让 LED 亮起来、让按键按下有反应。

🪢 类比理解:

  • GPIO:电力公司,能发电
  • FPIOA:电网配线,决定电送到哪栋楼
  • 物理引脚:用户家门口的电源插座

# 4. 点亮一个 LED 的最小代码

from machine import Pin, FPIOA
import time

fpioa = FPIOA()

# 将 GPIO62 映射到物理引脚 IO62
fpioa.set_function(62, FPIOA.GPIO62)

# 创建 GPIO62 对应的输出对象(默认高电平熄灭)
led = Pin(62, Pin.OUT, pull=Pin.PULL_NONE, drive=7)

# 闪烁效果:亮灭切换
while True:
    led.low()   # 点亮(共阳LED)
    time.sleep_ms(500)
    led.high()  # 熄灭
    time.sleep_ms(500)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 5. 加点交互:按键控制LED

# 配置按键引脚为输入模式
fpioa.set_function(53, FPIOA.GPIO53)
button = Pin(53, Pin.IN, Pin.PULL_DOWN)

led.high()  # 初始状态熄灭

# 状态变量
led_on = False
last_time = 0
debounce = 20

while True:
    now = time.ticks_ms()
    if button.value() == 1 and time.ticks_diff(now, last_time) > debounce:
        led_on = not led_on
        led.low() if led_on else led.high()
        last_time = now

    time.sleep_ms(10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# 6. 解码一下这些操作

🧩 FPIOA 映射 用 .set_function(pin, func) 把功能“绑”到具体引脚,就像给每条电缆装上插头。

⚙️ GPIO配置 Pin(pin号, 模式, 上下拉, 驱动能力) 是控制面板,输出、输入、电平行为都在这设定。

⏱️ 按键消抖 肉眼看不见的“机械抖动”会导致多次触发,必须加个“冷静期”。

🔦 点灯原理 如果是共阳极LED,那么输出低电平就能让它亮起来,反之熄灭。


# 7. 注意事项 & 小技巧

  1. 先配置 FPIOA,再用 GPIO,否则你连线都没接好,点灯个鬼。
  2. 消抖时间别太短,否则按一下亮两次你哭不哭?
  3. 共阳极LED 是高电平熄灭,低电平点亮,别搞反。
  4. 驱动能力设为7 就是全力输出,能亮就亮最亮!

# 8. 参考资料

  • 📗 K230 GPIO & FPIOA 官方文档 (opens new window)
  • 📘 MicroPython Pin 模块文档 (opens new window)

🌌 点亮第一盏灯的时候,有人感觉是“我在操控硬件”,但其实,是“硬件开始回应你了”。如果你没成功,那八成是 FPIOA 没设好,回头翻一眼 😅。


# 免责声明

本文档及所有内容(包括文字、图片、代码等)均为作者基于嘉立创庐山派K230开发板公开资料和个人使用经验整理分享,仅供学习和技术交流之用。

所有涉及的品牌名称、商标、图片及相关资源均归嘉立创官方所有,未经授权不得用于商业宣传或其他用途。

作者与嘉立创官方无任何隶属或代理关系,内容不构成任何形式的官方承诺或保证。

用户在使用相关资源时,应遵守相应的开源协议和法律法规,确保合法合规。

如涉及版权问题,请联系作者或嘉立创官方处理。

帮助我们改善此页面 (opens new window)
上次更新: 2025/07/12, 16:01:22
2.K230 micropython基础
4.K230 PWM的玩法

← 2.K230 micropython基础 4.K230 PWM的玩法→

Theme by Vdoing | Copyright © 2025-2025 Eryajf | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式