玄铁RISC-V处理器入门与实战-RISC-V 应用领域开发示例-基于RVB2601应用开发示例(下)

简介: 玄铁RISC-V处理器入门与实战-RISC-V 应用领域开发示例-基于RVB2601应用开发示例

接上篇:https://developer.aliyun.com/article/1222365?groupCode=t-headocc


3控制一颗RGB LED灯珠实现跑马灯效果

基于RVB2601的跑⻢灯程序是利⽤通过控制⼀颗RGB LED灯珠实现三⾊跑⻢灯效果。本例程名为ch2601_marquee_demo,可以通过CDK直接从OCC拉取。

a) 硬件配置

三⾊LED通过PIN引脚PA7、PA25、PA4与CH2601主芯GPIO控制器连通,主控可以通过对PA7、PA25和PA4的GPIO PIN的操作,可以实现三LED不同颜⾊的闪烁。LED硬件原理图如下:

 

image.png

b) 跑马灯开发

打开CDK软件。点击⼯具栏最右侧的平头哥图标,搜索找到对应的工程后点击【创建工程】。

 

image.png

 

LED配置。

led_pinmux_init该功能函数位于app/src/led.c,⽤于初始化三⾊LED灯的IO管脚。配置三⾊灯的PA7、PA25和PA4为IO模式,为每个IO管脚配置PWM通道以及占空⽐时

 

void led_pinmux_init()
{
 //7
 csi_pin_set_mux(PA7,PA7_PWM_CH7);
 csi_pin_set_mux(PA25,PA25_PWM_CH2);
 csi_pin_set_mux(PA4,PA4_PWM_CH4);
 ret = csi_pwm_init(&r,0);
 ret = csi_pwm_out_config(&r,7 / 2,300,100,PWM_POLARITY_HIGH);
 ret = csi_pwm_out_start(&r,7 / 2);
 //25
 ret = csi_pwm_out_config(&r,2 / 2,300,100,PWM_POLARITY_HIGH);
 ret = csi_pwm_out_start(&r,2 / 2);
 //4
 ret = csi_pwm_out_config(&r,4 / 2,300,100,PWM_POLARITY_HIGH);
 ret = csi_pwm_out_start(&r,4 / 2);
}

 

led_refresh。该功能函数位于app/src/led.c,⽤于依次闪烁LED。利g_ctr计数器来判断闪烁LED灯。通过操作三根IO管脚来确定显示指定颜⾊的灯。

 

void led_refresh()
{
 g_ctr++;
 if(g_ctr == 3){
 g_ctr = 0;
 }
 if(g_ctr == 0)
 {
 csi_pwm_out_start(&r,7 / 2);
 csi_pwm_out_stop(&r,2 / 2);
 csi_pwm_out_stop(&r,4 / 2);
 }
 else if(g_ctr == 1)
 {
 csi_pwm_out_start(&r,2 / 2);
 csi_pwm_out_stop(&r,7 / 2);
 csi_pwm_out_stop(&r,4 / 2);
 }
 else //2
 {
 csi_pwm_out_start(&r,4 / 2);
 csi_pwm_out_stop(&r,7 / 2);
 csi_pwm_out_stop(&r,2 / 2);
 }
}

 

demo_task。该功能函数位于app/src/main.c,⽤于周期性点亮LED灯,在主函数⾥调⽤。

 

static void demo_task(void *arg)
{
 lv_init();
 oled_init();
 lable_test();
 led_pinmux_init();
 while(1)
 {
 lv_task_handler();
 udelay(1000 * 1000);
 lv_tick_inc(1);
 led_refresh();
 }
}

 

编译运行

编译通过后,点击下载成功,复位运⾏。可看左下⻆的灯依次闪烁。

 

image.png

 

关于RVB2601开发板控制一颗RGB LED灯珠实现跑马灯效果的详细说明可以进入芯片开放社区(OCC)查看。

相关文章
|
4天前
|
人工智能 弹性计算 运维
|
2天前
|
缓存 人工智能 安全
GPT-5.6 Terra与GPT-5.5性能实测:成本减半后的跑分对比与快速迁移指南
GPT-5.6 Terra 的定价为每百万 token 输入 2.50/输出 15。GPT-5.5 则是 5/ 30。Terra 的每一项费率,包括 $0.25/M 的缓存读取,都恰好是 GPT-5.5 的一半,因此在任何工作负载组合下,Terra 都固定 便宜 2.0x。以每天 10 万次请求、3K token 提示词计算,大约是 Terra 每天 2,000,GPT−5.5每天 4,000,即每月约 60,000对 120,000。问题在于:OpenAI 没有发布任何针对 Terra 的编码基准。那个著名的 91.9% Terminal-Bench 数字是 Sol 在 Ul
|
1天前
|
SQL 人工智能 自然语言处理
大模型内容安全实时防护:恶意Prompt注入拦截、越权阻断与熔断机制方案.166
本文系统阐述大模型输入安全防护体系,涵盖提示词注入、恶意Prompt拦截、越权阻断与输入熔断四大核心风险及应对方案。提出四层防护架构(预处理、检测、鉴权、熔断),结合规则引擎、语义识别与RBAC权限控制,实现全链路实时防护,保障业务合规、数据安全与服务稳定。
203 1
|
25天前
|
Linux 程序员 数据格式
【2026最新】Notepad++下载、安装和使用一篇搞定(附中文版安装包)
Notepad++ 是一款免费开源、轻量高效的 Windows 文本编辑器,支持 C/Python/HTML 等 80+ 语言语法高亮、代码折叠、正则替换、编码转换及插件扩展,专为程序员与文本处理用户打造,完美替代系统记事本。(239字)
|
9天前
|
人工智能 编解码 物联网
2026 最新Stable Diffusion 本地部署教程 下载安装使用详细图解(含官网安装包)
Stable Diffusion(SD)是2022年发布的开源文生图模型,由Stability AI等联合开发。支持文生图、图生图、局部重绘等,依托VAE降低算力需求,可在消费级显卡运行。本文提供秋葉aaaki制作的Windows整合包(含图形界面与插件),开箱即用,零配置启动。
|
10天前
|
人工智能 缓存 安全
Claude Code 封号真实原因曝光,这次彻底不装了,直接针对国内开发者的账号下手?
Claude Code 封号潮背后:逆向扒出客户端隐写区域标记,Anthropic 政策收紧叠加 DeepSeek 7 月涨价,国产替代更紧迫。
|
19天前
|
存储 人工智能 监控
QoderWork完全指南:从入门到精通,把“AI实习生”变成你的全能工作搭档
阿里云2026年推出的桌面端AI工作助手QoderWork,不止聊天,更可动手干活:本地运行、安全可控,支持文件整理、数据分析、PPT生成、网页开发等;内置专家套件、多Agent协作与自定义Skills,让AI真正成为你身边的“AI实习生”。
|
16天前
|
人工智能 JSON 自然语言处理
让教学更智慧:用阿里云百炼工作流,自动生成中小学教材内容#小有可为#有温度的AI
通过可视化工作流编排,将大模型推理能力转化为标准化的教学内容生成引擎。教师只需输入教材标题和适用学段,即可自动获得结构完整、符合课程标准的章节内容,大幅降低备课门槛,助力教育资源均衡化。
505 127
|
11天前
|
人工智能 安全 程序员
终于,Claude Code 封号的原因被曝光了!竟然针对中国用户,植入隐形代码?!
通俗易懂地揭秘 Claude Code 封号的手段,分享一些自己对 AI 编程困境的思考,Codex、Cursor、DeepSeek、智谱 GLM、甚至是豆包,都有所行动了
532 1

热门文章

最新文章