軟件平臺(tái) Mounriver Studio,硬件平臺(tái)TWENCH32V開發(fā)板。
1、ws2812RGB
RGB色彩模式是工業(yè)界的一種顏色標(biāo)準(zhǔn),是通過對(duì)紅(R)、綠(G)、藍(lán)(B)三個(gè)顏色通道的變化以及它們相互之間的疊加來得到各式各樣的顏色的,RGB即是代表紅、綠、藍(lán)三個(gè)通道的顏色,這個(gè)標(biāo)準(zhǔn)幾乎包括了人類視力所能感知的所有顏色,是運(yùn)用最廣的顏色系統(tǒng)之一。
RGB的所謂“多少”就是指亮度,并使用整數(shù)來表示。通常情況下,RGB各有256級(jí)亮度,用數(shù)字表示為從0、1、2...直到255。注意雖然數(shù)字最高是255,但0也是數(shù)值之一,因此共256級(jí)。
WS2812B是一個(gè)集控制電路與發(fā)光電路于一體的智能外控LED光源。其外型與一個(gè)5050LED燈珠相同,每 個(gè)元件即為一個(gè)像素點(diǎn)。像素點(diǎn)內(nèi)部包含了智能數(shù)字接口數(shù)據(jù)鎖存信號(hào)整形放大驅(qū)動(dòng)電路,還包含有高精度的內(nèi)部振蕩器和12V高壓可編程定電流控制部分,有效保證了像素點(diǎn)光的顏色高度一致。
數(shù)據(jù)協(xié)議采用單線歸零碼的通訊方式,像素點(diǎn)在上電復(fù)位以后,DIN端接受從控制器傳輸過來的數(shù)據(jù),首先送過來的24bit數(shù)據(jù)被第一個(gè)像素點(diǎn)提取后,送到像素點(diǎn)內(nèi)部的數(shù)據(jù)鎖存器,剩余的數(shù)據(jù)經(jīng)過內(nèi)部整形處理電路 整形放大后通過DO端口開始轉(zhuǎn)發(fā)輸出給下一個(gè)級(jí)聯(lián)的像素點(diǎn),每經(jīng)過一個(gè)像素點(diǎn)的傳輸,信號(hào)減少24bit。像素點(diǎn)采用自動(dòng)整形轉(zhuǎn)發(fā)技術(shù),使得該像素點(diǎn)的級(jí)聯(lián)個(gè)數(shù)不受信號(hào)傳送的限制,僅僅受限信號(hào)傳輸速度要求。
LED具有低電壓驅(qū)動(dòng),環(huán)保節(jié)能,亮度高,散射角度大,一致性好,超低功率,超長壽命等優(yōu)點(diǎn)。將控制電 路集成于LED上面,電路變得更加簡單,體積小,安裝更加簡便。
部分參數(shù)如下
TWENCH32V開發(fā)板背面集成了6個(gè)串聯(lián)的WS2812,是我們這次要使用的組件。
2.MRS中開發(fā)流程
開發(fā)平臺(tái)為Mounriver Studio,下載地址為http://www.mounriver.com/,安裝時(shí)一直下一步就可以了。
1)雙擊桌面,打開軟件,左上角File->New->Mounriver Projection,彈出如下頁面
選擇TWEN廠商,右側(cè)選擇要建立的工程,最上面可以自定義工程文件名和工程存放位置,點(diǎn)擊FINSH創(chuàng)建完成??梢栽谧髠?cè)的工程目錄窗口看到此工程的目錄結(jié)構(gòu),
2)工程相關(guān)的屬性已經(jīng)在創(chuàng)建時(shí)配置完畢,一般不需要做其他修改,我們直接打開main.cpp,可以看到是一個(gè)點(diǎn)燈程序和USB串口輸出,我們將MAIN函數(shù)中的內(nèi)容刪除掉,編輯一個(gè)呼吸燈程序,首先包含CH32V_WS2812.h頭文件,在mylib目錄下打開CH32V_WS2812.h,可以看到已經(jīng)實(shí)現(xiàn)了一個(gè)WS2812的類,其中包含RGB初始化,設(shè)置顏色,更新顯示等;部分代碼如下:
每個(gè)方法都有注釋說明,這里就不贅述了,我們這次要實(shí)現(xiàn)的是呼吸燈效果,首先初始化RGB,然后在循環(huán)中不斷改變RGB的值,再調(diào)用顯示函數(shù)即可,具體的代碼如下:
3)點(diǎn)擊工具欄編譯按鈕其中一個(gè),(一個(gè)增量編譯,一個(gè)重新編譯),編譯信息會(huì)在下面的Console窗口顯示
編譯出來的文件會(huì)產(chǎn)生在左側(cè)工程目錄中的obj目錄下,
同時(shí)還生成了LST和MAP 文件,其中記錄了程序的反匯編,段大小,布局等等信息,可以在我們程序出現(xiàn)非語法錯(cuò)誤時(shí)幫助我們來查找問題。
4)仿真和下載
前面說過,新建的模板已經(jīng)做好所有配置,所以編譯成功之后可以直接點(diǎn)擊工具欄的按鈕進(jìn)入調(diào)試頁面,進(jìn)入調(diào)試會(huì)停在我們預(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)試驗(yàn)證之后,可以直接點(diǎn)擊工具欄按鈕進(jìn)行下載。這樣一個(gè)完整的流程就結(jié)束了。
最后附上程序運(yùn)行效果圖:
-
RISC
+關(guān)注
關(guān)注
6文章
463瀏覽量
83768
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論