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 Pin2、也可以在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)



浙公网安备 33010602011771号