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

    文章

    432

    浏览量

    83470
收藏 人收藏

    评论

    相关推荐

    浅析RISC-V领先ARM的优势

    和成本要求。 ARM虽然也具有一定的可定制性,但受限于其指令集架构的复杂性和历史包袱,其定制化的灵活性和自由度相对较低。 生态系统的快速发展: 随着RISC-V的开源特性得到越来越多开发者和企业的认可
    发表于 06-27 08:45

    RISC-V的MCU与ARM对比

    。 生态系统与市场 RISC-VRISC-V具有一个活跃的开源社区,吸引了全球开发者参与其生态系统的建设。这有助于推动RISC-V技术的快速发展和应用普及。然而,与ARM相比,
    发表于 05-27 15:58

    RISC-V有哪些优点和缺点

    和使用其代码。这种开放性促进了全球范围内的创新与合作,有助于推动RISC-V生态系统的快速发展。 模块化设计:RISC-V支持模块化可配置的子集,使得开发者可以根据具体的应用需求进行灵活定制。这种
    发表于 04-28 09:03

    RISC-V有哪些优缺点?是坚持ARM方向还是投入risc-V的怀抱?

    、修改和使用其代码。这种开放性促进了全球范围内的创新与合作,有助于推动RISC-V生态系统的快速发展。 模块化设计 :RISC-V支持模块化可配置的子集,使得开发者可以根据具体的应用需求进行灵活定制
    发表于 04-28 08:51

    使用MounRiver Studio快速创建CH32V208开发环境

    1、安装好MounRiver Studio 2、在菜单file->new->MounRive Project,打开创建对话框: 3、选 择CH32V208 -芯片选择
    发表于 04-18 11:54

    RISC-V MCU CH32V103开发点灯

    CH32V103采用的是RISC-V内核,与以往ARM内核开发环境不同,这个是用的官方推荐的MounRiver Studio
    发表于 03-31 23:39

    瑞萨电子推出采用自研RISC-V CPU内核的通用32位MCU

    5.5V 封装:16 WLCSP、24/32/48 QFN封装(QFP可选) R9A02G021 RISC-V MCU得到瑞萨e² studio集成开发环境(
    发表于 03-30 22:08

    什么是RISC-V

    siFive搞RISC-V 赛昉搞RISC-V 香山搞RISC-V 到底什么是RISC-V? 先不问有什么用,RISC-V目前的能力来说,工
    发表于 02-02 10:41

    开发出商用的RISC-V处理器还需要哪些开发工具和环境?

    开发出商用的RISC-V处理器还需要哪些开发工具和环境? 处理器是软硬件的交汇点,所以必须有完善的编译器、开发工具和软件开发环境(
    发表于 11-18 06:05

    青稞RISC-V通用系列MCU一览

    产品概述 CH32V、CH32X系列MCU采用自研的青稞RISC-V内核,基于蓬勃发展的RISC-V开源指令集架构,针对低功耗和高速响应等应用优化扩展,免费配套IDE
    发表于 10-11 09:56

    读《玄铁RISC-V处理器入门与实战

    。 全方位的介绍,带领我们了解RISC-V之性能强大,不再局限于一个跑马灯、Hello World工程,而是开发高大上的系统级应用。未来RISC-V如果能在应用碎片化、开发效率低、软硬
    发表于 09-28 11:58

    使用SEGGER Embedded Studio+JLink调试器进行RISC-V嵌入式开发的方法

    本教程以板上按键控制点亮RV-STAR开发板上的LED为目标,从IDE的下载安装开始详细介绍了使用SEGGER Embedded Studio+JLink调试器进行RISC-V嵌入式
    发表于 08-16 07:16

    使用Nuclei Studio+JLink进行RISC-V嵌入式开发的方法

    RISC-V嵌入式开发的方法。 系统环境:Windows 10-64bit 硬件平台:基于GD32VF103 MCU的RV-STAR开发板,JLink调试器(调试器固件版本需支持RISC-V
    发表于 08-16 07:00

    使用SEGGER Embedded Studio+蜂鸟调试器进行RISC-V嵌入式开发的方法

    本教程以板上控制点亮RV-STAR开发板上的LED为目标,从IDE的下载安装开始详细介绍了使用SEGGER Embedded Studio+蜂鸟调试器进行RISC-V嵌入式
    发表于 08-16 06:08

    2023 RISC-V中国峰会:RISC-V深圳技术分享会(同期会议)

    。本届分享会将邀请生态厂商、研究机构、业界专家、社区伙伴和开源开发者齐聚一堂,共同讨论 RISC-V 相关的技术和研究、RISC-V发展趋势与机遇。
    发表于 08-15 17:27