K230学习记录
K230学习记录
参考自:
# 立创·庐山派-K230-CanMV开发板资料与相关扩展板软硬件资料官网全部开源
# 开发板官网:www.lckfb.com
# 技术支持常驻论坛,任何技术问题欢迎随时交流学习
# 立创论坛:www.jlc-bbs.com/lckfb
串口0(RT-Smart)
(115200)用户无法调用,被内部系统(RT-Smart)占用为控制台串口。连接进入rt-smart,操控大核。
默认进入MicroPython运行
输入q,退出MicroPython程序
OpenMV Cam USB COM
(串口终端)此时另一个OpenMV Cam USB COM串口终端退出执行MicroPython
串口0(RT-Smart)使用
打印U-Boot信息
<DIR>
表示该条目是一个目录。例如,bin <DIR>
表示bin
是一个目录。
bin
:存放二进制可执行文件,通常包含系统启动时需要的程序和脚本。sdcard
:通常指向设备的内部存储或外部SD卡,用于存放用户数据,如下载的文件、照片、音乐等。data
:存放应用程序数据和系统数据。dev
:包含设备文件,这些文件用于与硬件设备进行交互。proc
:是一个虚拟文件系统,用于提供系统和进程的信息。tmp
:用于存放临时文件。
在串口0,RT-Smart中去到sd卡目录执行micro python
cd micropython
./micropython
此时串口0的RT-Smart被占用,运行micro python
此时在OpenMV Cam USB COM串口终端中再次运行micro python
PS:退出micro python则须在串口0终端输入q并回车
使用OpenMV Cam USB COM
在IDE中ctrl+R可以快速重装载程序并执行
打印出各GPIO的复用功能
from machine import FPIOA
# 实例化FPIOA
fpioa = FPIOA()
# 打印所有引脚配置
fpioa.help()
LED(RGB三色灯)
红GPIO62
绿GPIO20
蓝GPIO63
1、粘贴进CanMV IDE K230执行
from machine import Pin from machine import FPIOA import time # 创建FPIOA对象,用于初始化引脚功能配置 fpioa = FPIOA() # 设置引脚功能,将指定的引脚配置为普通GPIO功能, fpioa.set_function(62,FPIOA.GPIO62) fpioa.set_function(20,FPIOA.GPIO20) fpioa.set_function(63,FPIOA.GPIO63) # 实例化Pin62, Pin20, Pin63为输出,分别用于控制红、绿、蓝三个LED灯 LED_R = Pin(62, Pin.OUT, pull=Pin.PULL_NONE, drive=7) # 红灯 LED_G = Pin(20, Pin.OUT, pull=Pin.PULL_NONE, drive=7) # 绿灯 LED_B = Pin(63, Pin.OUT, pull=Pin.PULL_NONE, drive=7) # 蓝灯 # 板载RGB灯是共阳结构,设置引脚为高电平时关闭灯,低电平时点亮灯 # 初始化时先关闭所有LED灯 LED_R.high() # 关闭红灯 LED_G.high() # 关闭绿灯 LED_B.high() # 关闭蓝灯 # 基础点灯试验:选择一个LED灯并让其闪烁 # 默认选择红色LED灯,后续可以通过变量改变需要控制的灯 LED = LED_R # 当前控制的LED为红色LED while True: LED.low() # 点亮当前选择的LED time.sleep(0.5) # 等待0.5秒 LED.high() # 熄灭当前选择的LED time.sleep(0.5) # 等待0.5秒from machine import Pin
2、也可以在OpenMV Cam USB COM串口终端使用MicroPython操控K230(波特率115200)
可以复制上面一整段代码粘贴进串口终端,然后回车两次执行
此时RGB_Red按照上面代码间隔0.5s闪烁
也可以分段输入,单句执行操作
首先引入使用到的MicroPython模块
from machine import Pin from machine import FPIOA
初始化RGB引脚
# 创建FPIOA对象,用于初始化引脚功能配置 fpioa = FPIOA() # 设置引脚功能,将指定的引脚配置为普通GPIO功能, fpioa.set_function(62,FPIOA.GPIO62) fpioa.set_function(20,FPIOA.GPIO20) fpioa.set_function(63,FPIOA.GPIO63) # 实例化Pin62, Pin20, Pin63为输出,分别用于控制红、绿、蓝三个LED灯 LED_R = Pin(62, Pin.OUT, pull=Pin.PULL_NONE, drive=7) # 红灯 LED_G = Pin(20, Pin.OUT, pull=Pin.PULL_NONE, drive=7) # 绿灯 LED_B = Pin(63, Pin.OUT, pull=Pin.PULL_NONE, drive=7) # 蓝灯
操作RGB单色灯(粘贴至串口终端回车执行)
LED_R.high() # 关闭红灯
LED_G.high() # 关闭绿灯
LED_B.high() # 关闭蓝灯
LED_B.low() # 打开蓝灯
LED_B.low() # 打开蓝灯
LED_B.low() # 打开蓝灯
按键
引脚GPIO53上
from machine import Pin
from machine import FPIOA
import time
# 创建FPIOA对象,用于初始化引脚功能配置
fpioa = FPIOA()
# 设置引脚功能,将指定的引脚配置为普通GPIO功能,
fpioa.set_function(62,FPIOA.GPIO62)
fpioa.set_function(20,FPIOA.GPIO20)
fpioa.set_function(63,FPIOA.GPIO63)
fpioa.set_function(53,FPIOA.GPIO53)
# 实例化Pin62, Pin20, Pin63为输出,分别控制红、绿、蓝三个LED灯
LED_R = Pin(62, Pin.OUT, pull=Pin.PULL_NONE, drive=7) # 红灯
LED_G = Pin(20, Pin.OUT, pull=Pin.PULL_NONE, drive=7) # 绿灯
LED_B = Pin(63, Pin.OUT, pull=Pin.PULL_NONE, drive=7) # 蓝灯
# 按键引脚为53,按下时高电平,设置为输入模式
button = Pin(53, Pin.IN, Pin.PULL_DOWN) # 使用下拉电阻
# 初始选择控制红灯
LED = LED_R # 默认控制红灯
# 初始化时关闭所有LED灯(共阳:高电平时为灭灯)
LED_R.high()
LED_G.high()
LED_B.high()
# 消抖时间设置为20毫秒
debounce_delay = 20 # 毫秒
last_press_time = 0 # 上次按键按下的时间,单位为毫秒
# 记录LED当前状态,True表示亮,False表示灭
led_on = False
# 记录按键状态,用于检测按下和松开的状态变化
button_last_state = 0 # 上次按键状态
# 主循环
while True:
button_state = button.value() # 获取当前按键状态
current_time = time.ticks_ms() # 获取当前时间(单位:毫秒)
# 检测按键从未按下(0)到按下(1)的变化(上升沿)
if button_state == 1 and button_last_state == 0:
# 检查按键是否在消抖时间外
if current_time - last_press_time > debounce_delay:
# 切换LED的状态
if led_on:
LED.high() # 熄灭LED
else:
LED.low() # 点亮LED
led_on = not led_on # 反转LED状态
last_press_time = current_time # 更新按键按下时间
# 更新上次按键状态
button_last_state = button_state
# 简单延时,防止主循环过于频繁
time.sleep_ms(10)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)