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