0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【项目实战】RISC-V IDE MounRiver Studio开发实战:TWEN32V RGB

电子发烧友论坛 2022-03-07 09:45 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

软件平台 Mounriver Studio,硬件平台TWENCH32V开发板。

1、ws2812RGB

RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是运用最广的颜色系统之一。

RGB的所谓“多少”就是指亮度,并使用整数来表示。通常情况下,RGB各有256级亮度,用数字表示为从0、1、2...直到255。注意虽然数字最高是255,但0也是数值之一,因此共256级。

WS2812B是一个集控制电路与发光电路于一体的智能外控LED光源。其外型与一个5050LED灯珠相同,每 个元件即为一个像素点。像素点内部包含了智能数字接口数据锁存信号整形放大驱动电路,还包含有高精度的内部振荡器和12V高压编程电流控制部分,有效保证了像素点光的颜色高度一致。

数据协议采用单线归零码的通讯方式,像素点在上电复位以后,DIN端接受从控制器传输过来的数据,首先送过来的24bit数据被第一个像素点提取后,送到像素点内部的数据锁存器,剩余的数据经过内部整形处理电路 整形放大后通过DO端口开始转发输出给下一个级联的像素点,每经过一个像素点的传输,信号减少24bit。像素点采用自动整形转发技术,使得该像素点的级联个数不受信号传送的限制,仅仅受限信号传输速度要求。

LED具有低电压驱动,环保节能,亮度高,散射角度大,一致性好,超低功率,超长寿命等优点。将控制电 路集成于LED上面,电路变得更加简单,体积小,安装更加简便。

部分参数如下

ab0baaac-9ca8-11ec-8b86-dac502259ad0.png

TWENCH32V开发板背面集成了6个串联的WS2812,是我们这次要使用的组件。

ab1f84f0-9ca8-11ec-8b86-dac502259ad0.png

ab58497a-9ca8-11ec-8b86-dac502259ad0.png

2.MRS中开发流程

开发平台为Mounriver Studio,下载地址为http://www.mounriver.com/,安装时一直下一步就可以了。

1)双击桌面,打开软件,左上角File->New->Mounriver Projection,弹出如下页面

ab7dfdfa-9ca8-11ec-8b86-dac502259ad0.png

选择TWEN厂商,右侧选择要建立的工程,最上面可以自定义工程文件名和工程存放位置,点击FINSH创建完成。可以在左侧的工程目录窗口看到此工程的目录结构,

ab8e446c-9ca8-11ec-8b86-dac502259ad0.png

2)工程相关的属性已经在创建时配置完毕,一般不需要做其他修改,我们直接打开main.cpp,可以看到是一个点灯程序和USB串口输出,我们将MAIN函数中的内容删除掉,编辑一个呼吸灯程序,首先包含CH32V_WS2812.h头文件,在mylib目录下打开CH32V_WS2812.h,可以看到已经实现了一个WS2812的类,其中包含RGB初始化,设置颜色,更新显示等;部分代码如下:

aba43722-9ca8-11ec-8b86-dac502259ad0.png

每个方法都有注释说明,这里就不赘述了,我们这次要实现的是呼吸灯效果,首先初始化RGB,然后在循环中不断改变RGB的值,再调用显示函数即可,具体的代码如下:

abb93bf4-9ca8-11ec-8b86-dac502259ad0.png

3)点击工具栏编译按钮其中一个,(一个增量编译,一个重新编译),编译信息会在下面的Console窗口显示

abc66310-9ca8-11ec-8b86-dac502259ad0.png

编译出来的文件会产生在左侧工程目录中的obj目录下,

同时还生成了LST和MAP 文件,其中记录了程序的反汇编,段大小,布局等等信息,可以在我们程序出现非语法错误时帮助我们来查找问题。

abd5ad5c-9ca8-11ec-8b86-dac502259ad0.png

4)仿真和下载

前面说过,新建的模板已经做好所有配置,所以编译成功之后可以直接点击工具栏的按钮进入调试页面,进入调试会停在我们预先设置好的断点处,

abe37b26-9ca8-11ec-8b86-dac502259ad0.png

预设的断点也可以在调试配置中修改,左上角是call stack,左下角为反汇编窗口,最右侧为变量监视窗口,中间下方Registers显示内核寄存器,Peripherals窗口可以查看外设寄存器,memory可以查看内存地址的值,具体效果如下图:

abefdaf6-9ca8-11ec-8b86-dac502259ad0.png

Call Stack

ac039514-9ca8-11ec-8b86-dac502259ad0.png

Disassembly

ac2ded1e-9ca8-11ec-8b86-dac502259ad0.png

Variables

ac3a705c-9ca8-11ec-8b86-dac502259ad0.png

Registers

ac4aa1f2-9ca8-11ec-8b86-dac502259ad0.png

Peripherals

双击代码行左侧位置可以设置断点,再次双击可取消

ac5fdd2e-9ca8-11ec-8b86-dac502259ad0.png

调试验证之后,可以直接点击工具栏按钮进行下载。这样一个完整的流程就结束了。

最后附上程序运行效果图:

ac791a14-9ca8-11ec-8b86-dac502259ad0.png

aca08f2c-9ca8-11ec-8b86-dac502259ad0.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RISC
    +关注

    关注

    6

    文章

    485

    浏览量

    86855
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RISC-V vs ARM:为什么工业与边缘计算仍然选择 ARM 架构?

    完整,占据工业与边缘计算主流。 既然 RISC-V 看起来更“先进”,为什么工业界和工程项目依然大量选择 ARM? 本文从 工程实现、软件生态和项目风险 三个技术视角,拆解这个问题。 一、先明确事实:
    的头像 发表于 01-21 17:33 967次阅读
    <b class='flag-5'>RISC-V</b> vs ARM:为什么工业与边缘计算仍然选择 ARM 架构?

    RISC-V,正式崛起

    寡头垄断格局的终结,开启了芯片设计不再是专有技术垄断,而是全球共享资源的新时代。RISC-V最初只是加州大学伯克利分校的一个小众学术项目,如今已发展成为计算领域强
    的头像 发表于 01-16 15:17 874次阅读
    <b class='flag-5'>RISC-V</b>,正式崛起

    新思科技ARC-V处理器驱动RISC-V市场无限机遇

    从 2010 年美国加州大学伯克利分校的教授与他的研究生团队耗时三个月完成 RISC-V 指令集的开发工作,到 2015 年,RISC-V 在学术界声名鹊起,再到 2025 年成为主流架构之一
    的头像 发表于 12-24 17:17 1478次阅读
    新思科技ARC-<b class='flag-5'>V</b>处理器驱动<b class='flag-5'>RISC-V</b>市场无限机遇

    为什么RISC-V是嵌入式应用的最佳选择

    最近RISC-V基金会在社交媒体上发文,文章说物联网和嵌入式系统正在迅速发展,需要更高的计算性能、更低的功耗和人工智能。RISC-V是为未来而建的,包括超高效的MCU到高性能应用处理器,RISC-V使
    的头像 发表于 11-07 10:09 1840次阅读

    大湾区RISC-V生态全景展示:RISC-V生态发展论坛、开发者Workshop和生态应用专区

    ),正以前所未有的速度从学术走向产业,从嵌入式走向高性能计算等全场景应用。数百万计的生态开发者,还有政府和资本的加持,你将如何把握这一历史性机遇?如何深度融入蓬勃发展的RISC-V生态?   答案就在这里——由“湾芯展RISC-V
    的头像 发表于 10-13 09:18 735次阅读
    大湾区<b class='flag-5'>RISC-V</b>生态全景展示:<b class='flag-5'>RISC-V</b>生态发展论坛、<b class='flag-5'>开发</b>者Workshop和生态应用专区

    国产!全志T113-i 双核Cortex-A7@1.2GHz 工业开发板—RISC-V案例开发手册(上)

    本文档主要介绍T113-i处理器的RISC-V案例开发,演示RISC-V核心RTOS案例的编译与加载方法。适用开发环境如下。
    的头像 发表于 08-13 11:34 14.8w次阅读
    国产!全志T113-i 双核Cortex-A7@1.2GHz 工业<b class='flag-5'>开发</b>板—<b class='flag-5'>RISC-V</b>案例<b class='flag-5'>开发</b>手册(上)

    进迭时空 V8 RISC-V 后端优化

    挥着至关重要的作用。自2020年起,中科院软件所PLCT实验室等团队开始为V8引擎开发RISC-V后端,并持续推动V8对RISC-V架构的支
    的头像 发表于 07-31 09:02 1883次阅读
    进迭时空 <b class='flag-5'>V</b>8 <b class='flag-5'>RISC-V</b> 后端优化

    RISC-V 手册

    年提出。其核心理念是开放性与模块化设计,与x86(CISC)和ARM(RISC)形成差异化竞争,现已成为全球芯片创新的重要驱动力135。核心特点与优势开源开放RISC-V采用开放标准协议,无专利壁垒与授权费用,开发者可自由使用、
    发表于 07-28 16:27 11次下载

    2025新思科技RISC-V科技日活动圆满结束

    新思科技深度参与2025 RISC-V中国峰会并于2025年7月16日举办同期活动“新思科技RISC-V科技日”技术论坛,聚焦“从芯片到系统重构RISC-V创新”主题,议题覆盖当前最前沿的技术领域
    的头像 发表于 07-25 17:31 1604次阅读

    RISC-V 工具链的版本更新、开发动态及生态建设愿景

    RISC-V 软件工具链作为连接 RISC-V 硬件架构与应用软件的核心纽带,其重要性贯穿于芯片设计、软件开发、生态建设乃至产业落地的全链条。从技术实现到生态繁荣,它的成熟度直接决定了 RIS
    发表于 07-18 11:08 5136次阅读
    <b class='flag-5'>RISC-V</b> 工具链的版本更新、<b class='flag-5'>开发</b>动态及生态建设愿景

    RISC-V 发展态势与红帽系统适配进展

    RISC-V 软硬件生态的最新进展和趋势》。   傅炜表示,近年来,RISC-V 硬件领域取得了显著进展。2018 年之前,RISC-V 仅有 32 位开发板,缺乏真正可用的硬件;2
    发表于 07-18 10:55 4228次阅读
    <b class='flag-5'>RISC-V</b> 发展态势与红帽系统适配进展

    RISC-V 的平台思维和生态思维

    RISC-V 的魅力在于以模块化、开源、开放的指令集为底座,通过平台化技术框架降低芯片与应用开发门槛,并以协同共建的产业生态弥合碎片、加速落地。因此,高通高级副总裁 Leendert van
    发表于 07-17 14:04 4229次阅读

    【好书推荐】RT-Thread第18本相关书籍!RISC-V嵌入式系统设计 | 技术集结

    RISC-V指令集、存储器与外设接口、通信协议、高速总线及操作系统等核心知识模块,构建了一条完整的学习路径。书中以项目驱动为主线,配套大量典型案例与实战项目,包括语音识别
    的头像 发表于 07-11 17:05 1126次阅读
    【好书推荐】RT-Thread第18本相关书籍!<b class='flag-5'>RISC-V</b>嵌入式系统设计  | 技术集结

    矽速科技正式入驻 RuyiSDK 开发者社区,共建 RISC-V 开发者生态!

    近日,深圳矽速科技正式入驻RuyiSDK开发者社区,携手社区共同推动RISC-V技术的发展与广泛应用,为开发者提供一个更加便捷高效的开发环境。关于RuyiSDKRuyiSDK是中国科学
    的头像 发表于 07-10 11:00 1396次阅读
    矽速科技正式入驻 RuyiSDK <b class='flag-5'>开发</b>者社区,共建 <b class='flag-5'>RISC-V</b> <b class='flag-5'>开发</b>者生态!

    RISC-V开发板!微五科技CF5010RBT60开发板免费试用~ #RISC-V #开发板试用

    RISC-V
    ElecFans小喇叭
    发布于 :2025年06月03日 17:57:00