本文介绍怎么通过聆思CSK6大模型开发板的GPIO控制RGB灯亮灭,演示视频来自开发者分享,详细过程请见文末视频。开发板支持语音交互和视觉识别,语音交互示例都接入了星火大模型,外观如下:

【聆思CSK6大模型开发板教程】通过GPIO控制RGB灯_大模型开发板


创建示例模板

先通过命令行创建一个基础的示例工程:

lisa zep create

【聆思CSK6大模型开发板教程】通过GPIO控制RGB灯_大模型开发板_02


在driver下选择 gpio_led 示例模板

【聆思CSK6大模型开发板教程】通过GPIO控制RGB灯_zephyr_03


然后会在命令行当前目录下生成 gpio_led的目录,把这个目录复制到 duomotai_ap\apps 下

【聆思CSK6大模型开发板教程】通过GPIO控制RGB灯_zephyr_04


修改示例模板

然后用vscode等工具打开示例路径 gpio_led\src下的main.c进行编辑

【聆思CSK6大模型开发板教程】通过GPIO控制RGB灯_嵌入式_05


删除main.c中不需要的代码

【聆思CSK6大模型开发板教程】通过GPIO控制RGB灯_大模型开发板_06


将以下代码复制到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);

修改后图示如下:

【聆思CSK6大模型开发板教程】通过GPIO控制RGB灯_大模型开发板_07


修改模板代码调用的函数,在下图对应位置把 &led 改为红灯的函数 &rgb_r

【聆思CSK6大模型开发板教程】通过GPIO控制RGB灯_zephyr_08

在对应代码位置增加其他颜色相关代码 

【聆思CSK6大模型开发板教程】通过GPIO控制RGB灯_嵌入式_09


在示例模板中增加支持的开发板类型

打开gpio_led 目录下的CMakeLists.txt,把开发板的板型名 csk6_duomotai_devkit 填入下图所示位置

【聆思CSK6大模型开发板教程】通过GPIO控制RGB灯_大模型开发板_10


增加变量和路径配置:

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)

【聆思CSK6大模型开发板教程】通过GPIO控制RGB灯_zephyr_11


添加开发板扩展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

【聆思CSK6大模型开发板教程】通过GPIO控制RGB灯_zephyr_12


做完以上修改后,在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