軟件平臺 Mounriver Studio,硬件平臺TWENCH32V開發(fā)板。
1、ws2812RGB
RGB色彩模式是工業(yè)界的一種顏色標(biāo)準(zhǔn),是通過對紅(R)、綠(G)、藍(lán)(B)三個顏色通道的變化以及它們相互之間的疊加來得到各式各樣的顏色的,RGB即是代表紅、綠、藍(lán)三個通道的顏色,這個標(biāo)準(zhǔn)幾乎包括了人類視力所能感知的所有顏色,是運(yùn)用最廣的顏色系統(tǒng)之一。
RGB的所謂“多少”就是指亮度,并使用整數(shù)來表示。通常情況下,RGB各有256級亮度,用數(shù)字表示為從0、1、2...直到255。注意雖然數(shù)字最高是255,但0也是數(shù)值之一,因此共256級。
WS2812B是一個集控制電路與發(fā)光電路于一體的智能外控LED光源。其外型與一個5050LED燈珠相同,每 個元件即為一個像素點(diǎn)。像素點(diǎn)內(nèi)部包含了智能數(shù)字接口數(shù)據(jù)鎖存信號整形放大驅(qū)動電路,還包含有高精度的內(nèi)部振蕩器和12V高壓可編程定電流控制部分,有效保證了像素點(diǎn)光的顏色高度一致。
數(shù)據(jù)協(xié)議采用單線歸零碼的通訊方式,像素點(diǎn)在上電復(fù)位以后,DIN端接受從控制器傳輸過來的數(shù)據(jù),首先送過來的24bit數(shù)據(jù)被第一個像素點(diǎn)提取后,送到像素點(diǎn)內(nèi)部的數(shù)據(jù)鎖存器,剩余的數(shù)據(jù)經(jīng)過內(nèi)部整形處理電路 整形放大后通過DO端口開始轉(zhuǎn)發(fā)輸出給下一個級聯(lián)的像素點(diǎn),每經(jīng)過一個像素點(diǎn)的傳輸,信號減少24bit。像素點(diǎn)采用自動整形轉(zhuǎn)發(fā)技術(shù),使得該像素點(diǎn)的級聯(lián)個數(shù)不受信號傳送的限制,僅僅受限信號傳輸速度要求。
LED具有低電壓驅(qū)動,環(huán)保節(jié)能,亮度高,散射角度大,一致性好,超低功率,超長壽命等優(yōu)點(diǎn)。將控制電 路集成于LED上面,電路變得更加簡單,體積小,安裝更加簡便。
部分參數(shù)如下

TWENCH32V開發(fā)板背面集成了6個串聯(lián)的WS2812,是我們這次要使用的組件。


2.MRS中開發(fā)流程
開發(fā)平臺為Mounriver Studio,下載地址為http://www.mounriver.com/,安裝時一直下一步就可以了。
1)雙擊桌面,打開軟件,左上角File->New->Mounriver Projection,彈出如下頁面

選擇TWEN廠商,右側(cè)選擇要建立的工程,最上面可以自定義工程文件名和工程存放位置,點(diǎn)擊FINSH創(chuàng)建完成。可以在左側(cè)的工程目錄窗口看到此工程的目錄結(jié)構(gòu),

2)工程相關(guān)的屬性已經(jīng)在創(chuàng)建時配置完畢,一般不需要做其他修改,我們直接打開main.cpp,可以看到是一個點(diǎn)燈程序和USB串口輸出,我們將MAIN函數(shù)中的內(nèi)容刪除掉,編輯一個呼吸燈程序,首先包含CH32V_WS2812.h頭文件,在mylib目錄下打開CH32V_WS2812.h,可以看到已經(jīng)實(shí)現(xiàn)了一個WS2812的類,其中包含RGB初始化,設(shè)置顏色,更新顯示等;部分代碼如下:

每個方法都有注釋說明,這里就不贅述了,我們這次要實(shí)現(xiàn)的是呼吸燈效果,首先初始化RGB,然后在循環(huán)中不斷改變RGB的值,再調(diào)用顯示函數(shù)即可,具體的代碼如下:

3)點(diǎn)擊工具欄編譯按鈕其中一個,(一個增量編譯,一個重新編譯),編譯信息會在下面的Console窗口顯示

編譯出來的文件會產(chǎn)生在左側(cè)工程目錄中的obj目錄下,
同時還生成了LST和MAP 文件,其中記錄了程序的反匯編,段大小,布局等等信息,可以在我們程序出現(xiàn)非語法錯誤時幫助我們來查找問題。

4)仿真和下載
前面說過,新建的模板已經(jīng)做好所有配置,所以編譯成功之后可以直接點(diǎn)擊工具欄的按鈕進(jìn)入調(diào)試頁面,進(jìn)入調(diào)試會停在我們預(yù)先設(shè)置好的斷點(diǎn)處,

預(yù)設(shè)的斷點(diǎn)也可以在調(diào)試配置中修改,左上角是call stack,左下角為反匯編窗口,最右側(cè)為變量監(jiān)視窗口,中間下方Registers顯示內(nèi)核寄存器,Peripherals窗口可以查看外設(shè)寄存器,memory可以查看內(nèi)存地址的值,具體效果如下圖:

Call Stack

Disassembly

Variables

Registers

Peripherals
雙擊代碼行左側(cè)位置可以設(shè)置斷點(diǎn),再次雙擊可取消

調(diào)試驗證之后,可以直接點(diǎn)擊工具欄按鈕進(jìn)行下載。這樣一個完整的流程就結(jié)束了。
最后附上程序運(yùn)行效果圖:


-
RISC
+關(guān)注
關(guān)注
6文章
485瀏覽量
86608
發(fā)布評論請先 登錄
RISC-V vs ARM:為什么工業(yè)與邊緣計算仍然選擇 ARM 架構(gòu)?
RISC-V,正式崛起
新思科技ARC-V處理器驅(qū)動RISC-V市場無限機(jī)遇
為什么RISC-V是嵌入式應(yīng)用的最佳選擇
大灣區(qū)RISC-V生態(tài)全景展示:RISC-V生態(tài)發(fā)展論壇、開發(fā)者Workshop和生態(tài)應(yīng)用專區(qū)
進(jìn)迭時空 V8 RISC-V 后端優(yōu)化
RISC-V 手冊
2025新思科技RISC-V科技日活動圓滿結(jié)束
RISC-V 發(fā)展態(tài)勢與紅帽系統(tǒng)適配進(jìn)展
RISC-V 的平臺思維和生態(tài)思維
【好書推薦】RT-Thread第18本相關(guān)書籍!RISC-V嵌入式系統(tǒng)設(shè)計 | 技術(shù)集結(jié)
矽速科技正式入駐 RuyiSDK 開發(fā)者社區(qū),共建 RISC-V 開發(fā)者生態(tài)!
RISC-V開發(fā)板!微五科技CF5010RBT60開發(fā)板免費(fèi)試用~ #RISC-V #開發(fā)板試用
RISC-V賽道的“硬核”突圍之路
FPGA與RISC-V淺談
【項目實(shí)戰(zhàn)】RISC-V IDE MounRiver Studio開發(fā)實(shí)戰(zhàn):TWEN32V RGB
評論