chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內(nèi)不再提示

RA2E1通過SPI驅(qū)動燈帶

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

掃碼添加小助手

加入工程師交流群

poYBAGG2ot-AGNHBAABs_TTBnPY753.png



1.概述


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

2.燈帶介紹


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

WS2812需要的時序是這樣的:

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

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

需要注意的是不同廠家的產(chǎn)品時序略有差別,實際需要根據(jù)手冊調(diào)整代碼,以產(chǎn)生對應控制波形。

3.軟件配置

e2studio中如下配置RA2E1的SPI:

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

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

WS2812需要的0碼對應SPI發(fā)送 0b 1100 0000

WS2812需要的1碼對應SPI發(fā)送 0b 1111 1000

設置SPI發(fā)送下面數(shù)據(jù):

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

模塊已接口化實現(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)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    147

    文章

    18640

    瀏覽量

    387996
  • ARM
    ARM
    +關注

    關注

    135

    文章

    9501

    瀏覽量

    388983
  • 開發(fā)板
    +關注

    關注

    25

    文章

    6140

    瀏覽量

    113731
  • 瑞薩電子
    +關注

    關注

    38

    文章

    2950

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【瑞薩RA6E2地奇星開發(fā)板試用】 環(huán)境配置+串口驅(qū)動LED

    瑞薩RA6E2地奇星開發(fā)板試用】+ 環(huán)境配置+串口驅(qū)動LED 1.硬件準備 USB-TTL驅(qū)動器 USB數(shù)據(jù)線 瑞薩
    發(fā)表于 12-10 15:35

    【瑞薩RA6E2】+1、初識RA6E2芯片及芯片參數(shù)

    低功耗模式下數(shù)據(jù)保持 通信接口 RA6E2提供豐富的外設接口,滿足多種通信需求: USB 2.0全速模塊 :支持設備控制器 CAN-FD :支持高速CAN通信 Quad SPI :用于連接外部串行
    發(fā)表于 11-11 19:19

    【瑞薩RA6E2】點亮 WS2812 全彩點陣屏

    通過單總線方式控制,只需一個 IO 口,就可以點亮數(shù)千個珠。 這里使用 RA6E2 點亮 WS2812 珠,效果如下: WS2812 可以使用 IO 模擬時序控制,也可以使用
    發(fā)表于 11-05 08:36

    【瑞薩RA6E2】PWM 驅(qū)動舵機

      本篇使用 RA6E2 的 PWM 輸出,來驅(qū)動舵機轉(zhuǎn)動,使用 RA6E2 驅(qū)動舵機非常方便,只要配置好 GPT PWM 模塊,就能輕松實現(xiàn)角度控制。 硬件準備
    發(fā)表于 11-04 00:03

    基于RT-Thread的EK-RA2E2 設備驅(qū)動移植與應用 | 技術(shù)集結(jié)

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

    【免費試用】瑞薩 RA6E2 開發(fā)板免費試用

    RA-Eco-RA6E2-64PIN-V1.0是一款基于100MHzArmCortex-M33內(nèi)核架構(gòu)的核心板,主控芯片為R7FA6E2BB3CFM。RA6E2組是RA6系列中最新的入
    的頭像 發(fā)表于 10-01 10:15 ?487次閱讀
    【免費試用】瑞薩 <b class='flag-5'>RA6E2</b> 開發(fā)板免費試用

    瑞薩RA2L1 MCU e2 studio和FSP的使用指南

    本期“RA MCU眾測寶典” 繼續(xù)聚焦 “環(huán)境搭建” 專題,帶大家走進【RA-Eco-RA2L1-48PIN-V1.0】的世界,查看e2 studio和FSP的下載、安裝及使用指南從零開始完成開發(fā)環(huán)境的配置。
    的頭像 發(fā)表于 08-04 13:45 ?2467次閱讀
    瑞薩<b class='flag-5'>RA2L1</b> MCU <b class='flag-5'>e</b>2 studio和FSP的使用指南

    2.4 A / 2 A 雙路獨立閃光 LED 驅(qū)動器, TrueFlash? skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()2.4 A / 2 A 雙路獨立閃光 LED 驅(qū)動器, TrueFlash?相關產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有2.4 A /
    發(fā)表于 07-30 18:30
    2.4 A / <b class='flag-5'>2</b> A 雙路獨立閃光<b class='flag-5'>燈</b> LED <b class='flag-5'>驅(qū)動</b>器,<b class='flag-5'>帶</b> TrueFlash? skyworksinc

    瑞薩全新RA2L2 MCU 搭載48MHz ArmCortex-M23內(nèi)核 超低功耗、支持CAN及USB-C

    電壓范圍,-40至125°C的寬工作溫度范圍,并具有豐富的外設,如 I3C、SSI、低功耗UART、CAN、USB FS,以及USB Type-C接口 。 ? RA2L2RA2L1系列、RA2E1系列和
    的頭像 發(fā)表于 06-11 15:22 ?1286次閱讀
    瑞薩全新<b class='flag-5'>RA2L2</b> MCU 搭載48MHz ArmCortex-M23內(nèi)核 超低功耗、支持CAN及USB-C

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

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

    新品 | RA0系列MCU喜添新成員RA0E2,0.25uA超低功耗待機,支持5v、125c

    RA家族2024年推出全新的RA0超低功耗系列,繼RA0E1產(chǎn)品后,新添成員RA0E2。RA0E2具有出色的成本效益和超低功耗。此外,
    的頭像 發(fā)表于 05-01 08:15 ?1181次閱讀
    新品 | <b class='flag-5'>RA</b>0系列MCU喜添新成員<b class='flag-5'>RA0E</b>2,0.25uA超低功耗待機,支持5v、125c

    RA-Eco-RA4M2開發(fā)板評測】 環(huán)境搭建和LED驅(qū)動

    1.RA4M2簡介 ??RA-Eco-RA4M2-100PIN-V1.0是一款基于100MHz Arm? Cortex?-M33內(nèi)核架構(gòu)的核心板,主控芯片為R7FA4M2AD3CFP。 RA4
    發(fā)表于 04-25 16:09

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

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

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

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

    RA-Eco-RA4E2-64PIN-V1.0開發(fā)板試用】03、SPI驅(qū)動TFT屏幕

    命令腳使用GPIO控制 CS 片選腳 使用GPIO控制 BL 背光控制 直接IO輸出高電平 觀察原理圖,在PMOD這塊,正好有我們驅(qū)動屏幕所需的SPI功能所使用的引腳。接下來在e2s配置里就著重關注
    發(fā)表于 12-15 12:46