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

    文章

    482

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

    芯来科技亮相RISC-V Day Tokyo 2025

    产品、行业领袖、开发者与生态伙伴。大家共同探索RISC-V架构的技术突破与产业应用,实现相互协作,推动RISC-V生态的开放与繁荣。
    的头像 发表于 03-03 14:07 ?685次阅读

    关于RISC-V芯片的应用学习总结

    、智能网关等物联网设备。此外,RISC-V的模块化设计使得开发者可以根据具体需求灵活剪裁指令集,进一步优化功耗和性能。 在嵌入式系统方面,RISC-V芯片同样表现出色。嵌入式系统广泛应用于工业控制、汽车
    发表于 01-29 08:38

    RISC-V MCU技术

    发展得可快了,好多公司和机构都加入了RISC-V International,还推出了不少RISC-V处理器、开发板还有软件工具啥的。 它为啥这么厉害呢?我跟你讲讲哈。 首先它是开源的,不要钱的,随便
    发表于 01-19 11:50

    基于VSCode软件框架的RISC-V IDE MRS2正式上线发布

    MounRiver Studio Ⅱ(MRS2)为MounRiver Studio的换代版本,从V2.1开始,框架更换至更现代的VSCode
    的头像 发表于 01-02 14:11 ?1535次阅读
    基于VSCode软件框架的<b class='flag-5'>RISC-V</b> <b class='flag-5'>IDE</b> MRS2正式上线发布

    RISC-V架构及MRS开发环境回顾

    MounRiver Studio(MRS)是一款针对RISC-V/ARM双核MCU的嵌入式集成开发环境,由MounRiver团队基于GN
    发表于 12-16 23:08

    如何使用 RISC-V 进行嵌入式开发

    RISC-V指令集等因素。 安装IDE :可以选择基于Eclipse的Nuclei Studio IDE,它支持RISC-V架构的嵌入式
    的头像 发表于 12-11 17:32 ?2204次阅读

    关于RISC-V学习路线图推荐

    : 使用IDE(如VSCode、Eclipse等)或命令行工具搭建RISC-V开发环境。 四、RISC-V编程实践 编写简单的RISC-V
    发表于 11-30 15:21

    RISC-V能否复制Linux 的成功?》

    问题没有准确答案。 当前的RISC-V是一种开放的架构,作为一种标准提供,开发人员可以自由、灵活、快速地基于它进行产品设计。但另一方面,硬件更加复杂,有多层堆栈,因此不像软件包那样简单。 本文
    发表于 11-26 20:20

    宣布 RISE RISC-V 开发者表彰试点计划:赋能开发者拓展 RISC-V 影响力

    我们一直在寻找加强RISC-V架构和扩大其在软件生态系统中应用的方法。为进一步实现这个愿景,我们很高兴地宣布启动RISC-V开发者表彰试点计划[1],旨在表彰和支持为将RISC-V打造
    的头像 发表于 10-15 08:08 ?635次阅读
    宣布 RISE <b class='flag-5'>RISC-V</b> <b class='flag-5'>开发</b>者表彰试点计划:赋能<b class='flag-5'>开发</b>者拓展 <b class='flag-5'>RISC-V</b> 影响力

    加入全球 RISC-V Advocate 行列,共筑 RISC-V 的未来 !

    加入RISC-VAdvocate行列!我们正在寻找来自世界各地的RISC-V爱好者,通过全球推广和参与,成为支持RISC-V进步的关键参与者。作为一名RISC-VAdvocate,您将
    的头像 发表于 09-10 08:08 ?984次阅读
    加入全球 <b class='flag-5'>RISC-V</b> Advocate 行列,共筑 <b class='flag-5'>RISC-V</b> 的未来 !

    RISC-V Summit China 2024 青稞RISC-V+接口PHY,赋能RISC-V高效落地

    沁恒在历届峰会上分享RISC-V在MCU领域的创新成果,和大家共同见证了本土RISC-V产业的成长。早在第一届RISC-V中国峰会上,沁恒就公开了青稞RISC-V系列量产芯片的关键技术
    的头像 发表于 08-30 18:18 ?2563次阅读
    <b class='flag-5'>RISC-V</b> Summit China 2024  青稞<b class='flag-5'>RISC-V</b>+接口PHY,赋能<b class='flag-5'>RISC-V</b>高效落地

    RISC-V Summit China 2024 | 青稞RISC-V+接口PHY,赋能RISC-V高效落地

    MounRiver Studio IDE(MRS)不仅在工具链层面为青稞RISC-V的免表中断和指令扩展提供支持,还通过一键工程创建、多种运行库、数学库、本地/远程调试、免复位问题定位
    发表于 08-30 17:37

    2024 RISC-V 中国峰会:abg欧博电子助力RISC-V生态!

    第四届RISC-V中国峰会(RISC-V Summit China 2024)于8月21日至23日在杭州盛大召开,成为RISC-V领域的一次重要盛会
    的头像 发表于 08-26 18:33 ?1753次阅读
    2024 <b class='flag-5'>RISC-V</b> 中国峰会:abg欧博电子助力<b class='flag-5'>RISC-V</b>生态!

    2024 RISC-V 中国峰会:abg欧博电子助力RISC-V生态!

    百家业界领先企业及顶尖研究机构的专家学者,吸引了约3000名开发者、学者及行业精英亲临现场。在峰会前后,还策划了超过20场丰富多彩的同期活动,为全球开发者提供了一个深入交流、碰撞思想、共谋RISC-V
    发表于 08-26 16:46