
1.概述
本期分享的是使用RA2E1通過SPI的MOSI腳產(chǎn)生WS2812的控制時(shí)序,實(shí)現(xiàn)燈帶控制的效果。
2.燈帶介紹
WS2812是24位(1600萬)色LED燈源芯片,集成了信號(hào)整形控制、電源反接保護(hù)等功能,5V安全供電,性價(jià)比高,在智能燈帶市場(chǎng)中應(yīng)用非常廣泛。芯片以級(jí)聯(lián)的方式串接起來,每顆燈源可單獨(dú)尋址控制,根據(jù)需要的長度和間距,定制出各種顯示效果,如直線燈帶、環(huán)形、點(diǎn)陣屏等。很多創(chuàng)客喜歡用WS2812彩燈DIY一些酷炫的項(xiàng)目,可以說網(wǎng)上關(guān)于WS2812的資料是比較豐富的。有用不同的控制核心實(shí)現(xiàn)控制,以及通過不同的方式進(jìn)行控制。我們選用RA的SPI(默認(rèn)使能DTC)MOSI口實(shí)現(xiàn)WS2812控制時(shí)序的輸出。
WS2812需要的時(shí)序是這樣的:

需要注意的是不同廠家的產(chǎn)品時(shí)序略有差別,實(shí)際需要根據(jù)手冊(cè)調(diào)整代碼,以產(chǎn)生對(duì)應(yīng)控制波形。
3.軟件配置
e2studio中如下配置RA2E1的SPI:
8M的SPI波特率,一個(gè)位的時(shí)間等于1s ÷ 8 × 10^6,為0.125μs。
WS2812需要的0碼對(duì)應(yīng)SPI發(fā)送 0b 1100 0000
WS2812需要的1碼對(duì)應(yīng)SPI發(fā)送 0b 1111 1000
設(shè)置SPI發(fā)送下面數(shù)據(jù):
4.燒錄測(cè)試
燒錄后實(shí)際測(cè)一下P213引腳波形
復(fù)位
0碼
1碼
實(shí)際效果
5.例程獲取
歡迎follow我們的gitee倉庫獲取更多示例代碼及相關(guān)資料:https://gitee.com/ramcu/ra-eco-ra2-e1-48-pin
模塊已接口化實(shí)現(xiàn),方便調(diào)用
/*
* ws2812.h
*
* Created on: 2021年12月21日
* Author: ramcu
*/
#ifndef WS2812_H_
#define WS2812_H_
#include "hal_data.h"
#define NUMPIXELS (16)
#define NUMRES (60)
#define SPIBUFL ((NUMPIXELS) * 3 * 8 + NUMRES)
void ws2812Init(void);
void show(void);
void clear(void);
void setPixelColor(uint16_t n, uint8_t g, uint8_t r, uint8_t b);
#endif /* WS2812_H_ */
/*
* ws2812.c
*
* Created on: 2021年12月21日
* Author: ramcu
*/
#include "ws2812.h"
static uint8_t spidate[SPIBUFL] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, 0xf8, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, 0xf8, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, 0xf8, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xf8, 0xf8, 0xf8, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xf8, 0xf8, 0xf8, 0xf8, \
0xc0, 0xc0, 0xc0, 0xc0, 0xf8, 0xf8, 0xf8, 0xf8
};
void ws2812Init(void)
{
R_SCI_SPI_Open(&g_spi0_ctrl, &g_spi0_cfg);
}
void show(void)
{
R_SCI_SPI_Write(&g_spi0_ctrl, spidate, SPIBUFL, SPI_BIT_WIDTH_8_BITS);
R_BSP_SoftwareDelay(80, BSP_DELAY_UNITS_MICROSECONDS);
}
void clear(void)
{
memset(& spidate[NUMRES], 0xc0, (NUMPIXELS) * 3 * 8);
}
void setPixelColor(uint16_t n, uint8_t g, uint8_t r, uint8_t b)
{
if (n < NUMPIXELS) {
uint8_t *p;
p = &spidate[NUMRES + n * 24];
for(uint8_t i = 0; i < 8; i++)
{
*(p + i) = (0 == (g & (1 << (7 - i)))) ? 0xc0 : 0xf8;
}
for(uint8_t i = 0; i < 8; i++)
{
*(p + i + 8) = (0 == (r & (1 << (7 - i)))) ? 0xc0 : 0xf8;
}
for(uint8_t i = 0; i < 8; i++)
{
*(p + i + 16) = (0 == (b & (1 << (7 - i)))) ? 0xc0 : 0xf8;
}
}
}
void hal_entry(void)
{
/* TODO: add your own code here */
ws2812Init();
while(1)
{
clear();
for(uint8_t i = 0; i < NUMPIXELS; i++)
{
setPixelColor(i, 0, 0, i + 4);
show();
R_BSP_SoftwareDelay(50, BSP_DELAY_UNITS_MILLISECONDS);
}
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
mcu
+關(guān)注
關(guān)注
147文章
18924瀏覽量
398064 -
ARM
+關(guān)注
關(guān)注
135文章
9552瀏覽量
391856 -
開發(fā)板
+關(guān)注
關(guān)注
26文章
6290瀏覽量
118065 -
瑞薩電子
+關(guān)注
關(guān)注
39文章
2973瀏覽量
74360
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
基于瑞薩RA2E1 MCU的LCR數(shù)字電橋項(xiàng)目介紹
但這也是他第一次系統(tǒng)性地接觸到MCU在模擬測(cè)量中的應(yīng)用,以此為起點(diǎn),他在2025年基于瑞薩RA2E1 MCU為我們帶來了這臺(tái)全新的LCR數(shù)字電橋。
【RA-Eco-RA2E1-V1.0開發(fā)板試用】篇一:硬件介紹+環(huán)境搭建
【RA-Eco-RA2E1-V1.0開發(fā)板試用】篇一:硬件介紹+環(huán)境搭建
序言
首先,感謝發(fā)燒友社區(qū)和瑞薩電子提供的此次評(píng)測(cè)機(jī)會(huì),本篇為初識(shí)篇,后續(xù)會(huì)提供更多測(cè)評(píng)內(nèi)容。
1.芯片介紹
RA2E1
發(fā)表于 02-07 21:18
【RA-Eco-RA2E1-V1.0開發(fā)板試用】開箱
控制、智能外設(shè)等場(chǎng)景的高性價(jià)比嵌入式開發(fā)方案,也是瑞薩 RA 生態(tài)中入門級(jí)低功耗開發(fā)的核心載體。
該套件核心基于 RA2L1/RA2L2 兩款超低功耗 MCU 打造,均采用瑞薩優(yōu)化的低功耗工藝,支持
發(fā)表于 02-04 19:54
RA MCU眾測(cè)寶典 | SPI驅(qū)動(dòng)TFT屏幕
“RAMCU眾測(cè)寶典”SPI專題來啦!這次我們聚焦【RA-Eco-RA4E2】開發(fā)板,一步步用SPI驅(qū)動(dòng)1.8寸TFT屏幕。開啟寶典前言本次實(shí)驗(yàn)使用的是1.8寸TFT屏幕,分辨率128
【RA-Eco-RA2E1-V1.0開發(fā)板試用】+ OLED顯示ADC采樣數(shù)據(jù)
1. 套件概述RA-Eco-RA2E1-48PIN-V1.0是一款基于100MHz Arm? Cortex?-M323內(nèi)核架構(gòu)的核心板,主控芯片為R7FA2E1A72DFL。RA2E1
發(fā)表于 02-02 09:21
【RA-Eco-RA2E1-V1.0開發(fā)板試用】概覽、環(huán)境搭建與TTL串口燒錄點(diǎn)燈
,比一次性包裝更環(huán)保和方便。無法確認(rèn)是否啟封過。如有封口貼需求,可以考慮貼在紙盒啟封處
可以看到,實(shí)物雖然型號(hào)仍為RA-Eco-RA2E1-V1.0,與詳情頁渲染圖還是存在一定的差異,比較明顯的地方
發(fā)表于 01-31 22:10
【RA-Eco-RA2E1-V1.0開發(fā)板試用】編寫代碼使雙LED燈閃爍
和低功耗。
RA2E1 產(chǎn)品群是 RA 系列的入門級(jí)單芯片微控制器,基于48 MHz Arm? Cortex?-M23 內(nèi)核,具有高**達(dá) 128 kB **的代碼閃存以及 **16 kB 的 SRAM
發(fā)表于 01-26 19:02
【RA-Eco-RA2E1-V1.0開發(fā)板試用】讓LED燈閃起來
RA-Eco-RA2E1-V1.0開發(fā)板是RA系列中的一款采用入門級(jí)單芯片微控制器的開發(fā)板,其內(nèi)核是基于48 MHz Arm? Cortex?-M23 ,具有高達(dá) 128 kB 的代碼閃存以及 16
發(fā)表于 01-26 09:35
【瑞薩FPB-RA6E2試用】基礎(chǔ)功能使用3(SPI + IIC)
基于 Zephyr 的 SPI 回環(huán)通信
硬件平臺(tái): Renesas FPB-RA6E2
開發(fā)環(huán)境: Zephyrv4.2.0
1.測(cè)評(píng)背景與目的
在嵌入式開發(fā)中,SPI(Serial
發(fā)表于 01-05 14:03
RA MCU眾測(cè)寶典 | IIC之【RA2E1】IIC通信的OLED顯示
“RAMCU眾測(cè)寶典”IIC專題上線啦!這次,瑞薩嵌入式小百科將和大家一起聚焦【瑞薩RA2E1】開發(fā)板,一步步玩轉(zhuǎn)IIC通信的OLED顯示。從IIC協(xié)議的核心原理、FSP中I2CMaster的配置
【瑞薩RA6E2地奇星開發(fā)板試用】 環(huán)境配置+串口驅(qū)動(dòng)LED燈
瑞薩RA6E2地奇星開發(fā)板試用】+ 環(huán)境配置+串口驅(qū)動(dòng)LED燈
1.硬件準(zhǔn)備
USB-TTL驅(qū)動(dòng)器
USB數(shù)據(jù)線
瑞薩
發(fā)表于 12-10 15:35
基于RT-Thread的EK-RA2E2 設(shè)備驅(qū)動(dòng)移植與應(yīng)用 | 技術(shù)集結(jié)
目錄前言環(huán)境配置HelloRT-ThreadGPIO輸入與中斷I2C主機(jī)驅(qū)動(dòng)SPI主機(jī)驅(qū)動(dòng)ADC設(shè)備驅(qū)動(dòng)PWM設(shè)備
【瑞薩RA2L1入門學(xué)習(xí)】+開箱評(píng)測(cè)
R7FA2L1AB2DFL。RA2L1 產(chǎn)品組采用優(yōu)化的制程和瑞薩電子的低功耗工藝技術(shù),是業(yè)界一流水平的超低功耗微控制器。
本次收到的開發(fā)板印刷RA2L1和RA2E1兩個(gè)型號(hào)。
主打低
發(fā)表于 03-09 07:40
【瑞薩RA2L1入門學(xué)習(xí)】01. PWM 呼吸燈
【實(shí)驗(yàn)資源】
開發(fā)板:RA-Eco-RA2L1-48PIN-V1.0
IDE:E2 Studio
下載工具:Renesas Flash Programme,用到USB轉(zhuǎn)TTL模塊
【e2s Hex
發(fā)表于 03-07 11:43
RA2E1通過SPI驅(qū)動(dòng)燈帶
評(píng)論