国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

RA2E1通過SPI驅動燈帶

RA生態工作室 ? 2022-01-04 14:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

poYBAGG2ot-AGNHBAABs_TTBnPY753.png



1.概述


本期分享的是使用RA2E1通過SPI的MOSI腳產生WS2812的控制時序,實現燈帶控制的效果。

2.燈帶介紹


WS2812是24位(1600萬)色LED燈源芯片,集成了信號整形控制、電源反接保護等功能,5V安全供電,性價比高,在智能燈帶市場中應用非常廣泛。芯片以級聯的方式串接起來,每顆燈源可單獨尋址控制,根據需要的長度和間距,定制出各種顯示效果,如直線燈帶、環形、點陣屏等。很多創客喜歡用WS2812彩燈DIY一些酷炫的項目,可以說網上關于WS2812的資料是比較豐富的。有用不同的控制核心實現控制,以及通過不同的方式進行控制。我們選用RA的SPI(默認使能DTC)MOSI口實現WS2812控制時序的輸出。

WS2812需要的時序是這樣的:

c01ce818-6b23-11ec-ad3b-dac502259ad0.png

c02bd9ea-6b23-11ec-ad3b-dac502259ad0.png

需要注意的是不同廠家的產品時序略有差別,實際需要根據手冊調整代碼,以產生對應控制波形。

3.軟件配置

e2studio中如下配置RA2E1的SPI:

c03e4aee-6b23-11ec-ad3b-dac502259ad0.png

8M的SPI波特率,一個位的時間等于1s ÷ 8 × 10^6,為0.125μs。

WS2812需要的0碼對應SPI發送 0b 1100 0000

WS2812需要的1碼對應SPI發送 0b 1111 1000

設置SPI發送下面數據:

c0487aa0-6b23-11ec-ad3b-dac502259ad0.png

4.燒錄測試

燒錄后實際測一下P213引腳波形

復位

c05a82b8-6b23-11ec-ad3b-dac502259ad0.png

0碼

c064f022-6b23-11ec-ad3b-dac502259ad0.png

1碼

c072ab54-6b23-11ec-ad3b-dac502259ad0.png

實際效果

c08311ec-6b23-11ec-ad3b-dac502259ad0.gif

5.例程獲取

歡迎follow我們的gitee倉庫獲取更多示例代碼及相關資料:https://gitee.com/ramcu/ra-eco-ra2-e1-48-pin

模塊已接口化實現,方便調用

/*
 * 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);
        }

    }

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    147

    文章

    18924

    瀏覽量

    398033
  • ARM
    ARM
    +關注

    關注

    135

    文章

    9552

    瀏覽量

    391851
  • 開發板
    +關注

    關注

    26

    文章

    6289

    瀏覽量

    118051
  • 瑞薩電子
    +關注

    關注

    39

    文章

    2973

    瀏覽量

    74360
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于瑞薩RA2E1 MCU的LCR數字電橋項目介紹

    但這也是他第一次系統性地接觸到MCU在模擬測量中的應用,以此為起點,他在2025年基于瑞薩RA2E1 MCU為我們帶來了這臺全新的LCR數字電橋。
    的頭像 發表于 02-10 09:22 ?1042次閱讀
    基于瑞薩<b class='flag-5'>RA2E1</b> MCU的LCR數字電橋項目介紹

    RA-Eco-RA2E1-V1.0開發板試用】篇一:硬件介紹+環境搭建

    RA-Eco-RA2E1-V1.0開發板試用】篇一:硬件介紹+環境搭建 序言 首先,感謝發燒友社區和瑞薩電子提供的此次評測機會,本篇為初識篇,后續會提供更多測評內容。 1.芯片介紹 RA2E1
    發表于 02-07 21:18

    RA-Eco-RA2E1-V1.0開發板試用】開箱

    控制、智能外設等場景的高性價比嵌入式開發方案,也是瑞薩 RA 生態中入門級低功耗開發的核心載體。 該套件核心基于 RA2L1/RA2L2 兩款超低功耗 MCU 打造,均采用瑞薩優化的低功耗工藝,支持
    發表于 02-04 19:54

    RA MCU眾測寶典 | SPI驅動TFT屏幕

    “RAMCU眾測寶典”SPI專題來啦!這次我們聚焦【RA-Eco-RA4E2】開發板,一步步用SPI驅動1.8寸TFT屏幕。開啟寶典前言本次實驗使用的是1.8寸TFT屏幕,分辨率128
    的頭像 發表于 02-03 17:02 ?7480次閱讀
    <b class='flag-5'>RA</b> MCU眾測寶典 | <b class='flag-5'>SPI</b><b class='flag-5'>驅動</b>TFT屏幕

    RA-Eco-RA2E1-V1.0開發板試用】+ OLED顯示ADC采樣數據

    1. 套件概述RA-Eco-RA2E1-48PIN-V1.0是一款基于100MHz Arm? Cortex?-M323內核架構的核心板,主控芯片為R7FA2E1A72DFL。RA2E1
    發表于 02-02 09:21

    RA-Eco-RA2E1-V1.0開發板試用】概覽、環境搭建與TTL串口燒錄點燈

    ,比一次性包裝更環保和方便。無法確認是否啟封。如有封口貼需求,可以考慮貼在紙盒啟封處 可以看到,實物雖然型號仍為RA-Eco-RA2E1-V1.0,與詳情頁渲染圖還是存在一定的差異,比較明顯的地方
    發表于 01-31 22:10

    RA-Eco-RA2E1-V1.0開發板試用】編寫代碼使雙LED閃爍

    和低功耗。 RA2E1 產品群是 RA 系列的入門級單芯片微控制器,基于48 MHz Arm? Cortex?-M23 內核,具有高**達 128 kB **的代碼閃存以及 **16 kB 的 SRAM
    發表于 01-26 19:02

    RA-Eco-RA2E1-V1.0開發板試用】讓LED閃起來

    RA-Eco-RA2E1-V1.0開發板是RA系列中的一款采用入門級單芯片微控制器的開發板,其內核是基于48 MHz Arm? Cortex?-M23 ,具有高達 128 kB 的代碼閃存以及 16
    發表于 01-26 09:35

    【瑞薩FPB-RA6E2試用】基礎功能使用3(SPI + IIC)

    基于 Zephyr 的 SPI 回環通信 硬件平臺: Renesas FPB-RA6E2 開發環境: Zephyrv4.2.0 1.測評背景與目的 在嵌入式開發中,SPI(Serial
    發表于 01-05 14:03

    RA MCU眾測寶典 | IIC之【RA2E1】IIC通信的OLED顯示

    “RAMCU眾測寶典”IIC專題上線啦!這次,瑞薩嵌入式小百科將和大家一起聚焦【瑞薩RA2E1】開發板,一步步玩轉IIC通信的OLED顯示。從IIC協議的核心原理、FSP中I2CMaster的配置
    的頭像 發表于 01-01 10:04 ?1804次閱讀
    <b class='flag-5'>RA</b> MCU眾測寶典 | IIC之【<b class='flag-5'>RA2E1</b>】IIC通信的OLED顯示

    【瑞薩RA6E2地奇星開發板試用】 環境配置+串口驅動LED

    瑞薩RA6E2地奇星開發板試用】+ 環境配置+串口驅動LED 1.硬件準備 USB-TTL驅動器 USB數據線 瑞薩
    發表于 12-10 15:35

    基于RT-Thread的EK-RA2E2 設備驅動移植與應用 | 技術集結

    目錄前言環境配置HelloRT-ThreadGPIO輸入與中斷I2C主機驅動SPI主機驅動ADC設備驅動PWM設備
    的頭像 發表于 10-05 10:06 ?6163次閱讀
    基于RT-Thread的EK-<b class='flag-5'>RA2E2</b> 設備<b class='flag-5'>驅動</b>移植與應用 | 技術集結

    瑞薩RA0系列MCU喜添新成員RA0E2

    RA家族2024年推出全新的RA0超低功耗系列,繼RA0E1產品后,新添成員RA0E2RA0E2具有出色的成本效益和超低功耗。此外,
    的頭像 發表于 05-06 09:29 ?1249次閱讀
    瑞薩<b class='flag-5'>RA</b>0系列MCU喜添新成員<b class='flag-5'>RA0E2</b>

    【瑞薩RA2L1入門學習】+開箱評測

    R7FA2L1AB2DFL。RA2L1 產品組采用優化的制程和瑞薩電子的低功耗工藝技術,是業界一流水平的超低功耗微控制器。 本次收到的開發板印刷RA2L1RA2E1兩個型號。 主打低
    發表于 03-09 07:40

    【瑞薩RA2L1入門學習】01. PWM 呼吸

    【實驗資源】 開發板:RA-Eco-RA2L1-48PIN-V1.0 IDE:E2 Studio 下載工具:Renesas Flash Programme,用到USB轉TTL模塊 【e2s Hex
    發表于 03-07 11:43