本文介绍怎么通过聆思CSK6大模型开发板的GPIO控制RGB灯亮灭,演示视频来自开发者分享,详细过程请见文末视频。开发板支持语音交互和视觉识别,语音交互示例都接入了星火大模型,外观如下:
创建示例模板
先通过命令行创建一个基础的示例工程:
lisa zep create
在driver下选择 gpio_led 示例模板
然后会在命令行当前目录下生成 gpio_led的目录,把这个目录复制到 duomotai_ap\apps 下
修改示例模板
然后用vscode等工具打开示例路径 gpio_led\src下的main.c进行编辑
删除main.c中不需要的代码
将以下代码复制到main.c 上图代码删除位置:
#define RGB_R_NODE DT_ALIAS(led_rgb_red)
#define RGB_G_NODE DT_ALIAS(led_rgb_green)
#define RGB_B_NODE DT_ALIAS(led_rgb_blue)
static const struct gpio_dt_spec rgb_r = GPIO_DT_SPEC_GET(RGB_R_NODE, gpios);
static const struct gpio_dt_spec rgb_g = GPIO_DT_SPEC_GET(RGB_G_NODE, gpios);
static const struct gpio_dt_spec rgb_b = GPIO_DT_SPEC_GET(RGB_B_NODE, gpios);
修改后图示如下:
修改模板代码调用的函数,在下图对应位置把 &led 改为红灯的函数 &rgb_r
在对应代码位置增加其他颜色相关代码
在示例模板中增加支持的开发板类型
打开gpio_led 目录下的CMakeLists.txt,把开发板的板型名 csk6_duomotai_devkit 填入下图所示位置
增加变量和路径配置:
set(SDK_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../)
set(BOARD_ROOT ${SDK_ROOT_PATH})
set(SNIPPET_ROOT ${SDK_ROOT_PATH}/boards)
list(APPEND ZEPHYR_EXTRA_MODULES ${SDK_ROOT_PATH}/components)
添加开发板扩展IO芯片相关配置
打开gpio_led 目录下的prj.conf文件,
增加:
CONFIG_GPIO_CSK6_CH32V003=y
CONFIG_CSK_HEAP=y
CONFIG_CSK_HEAP_MEM_POOL_SIZE=307200
CONFIG_CSK6_PSRAM=y
做完以上修改后,在gpio_led 目录下执行编译指令
lisa zep build -b csk6_duomotai_devkit .\apps\gpio_led\ -p
编译成功后执行烧录指令
lisa zep exec cskburn -s \\.\COM串口号 -C 6 -b 1500000 0先000000 --verify-all .\build\zephyr\zephyr.bin
至此用聆思CSK6大模型开发板控制RGB灯完成,接下来会更新怎么用星火大模型语音控制CSK6开发板上的灯。
效果演示和示例详解
【聆思CSK6控制RGB灯亮灭】效果演示和示例讲解:
https://www.bilibili.com/video/BV1mk4y1D7xn/?vd_source=5bc4be50ddf65370d8b5cadb25a6e836