色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

驅動WS2812B燈條時顯示其他顏色咋辦?

冬至子 ? 來源:小陳學不停 ? 作者:小陳學不停 ? 2023-07-21 15:38 ? 次閱讀

一 背景

前段時間發現在驅動WS2812B燈條的時候會有突然顯示其他顏色的情況,后來排查發現是時序被其他任務打斷了,在控制時序的時候需要做原子性訪問來保證時序的正確性。

二 WS2812B數據手冊

2.1 邏輯0和邏輯1

圖片

2.2 發送時序

圖片

綠色數據先發,高位在前

圖片

三 寫數據

3.1 精準ns和us級別延時的實現

一個__NOP()的時間是一個時鐘周期,如果主頻設置的是64MHz,那么一個時鐘周期就是1/64000000 = 15.625ns,這里只需要實現一個330ns延時,2個330ns就是660ns了。

void delay_330ns(void)
{
    volatile uint8_t cnt = 21;
    while(cnt--)
    {
        __NOP();
    }
}
void delay_660ns(void)
{
    volatile uint8_t cnt = 21*2;
    while(cnt--)
    {
        __NOP();
    }
}
void ws2812b_write_data(uint8_t data){
  for(uint8_t i=0;i< 8;i++)
  {
    if(data & 0x80)//高位先發
    {
      GPIOA- >BSRR = GPIO_PIN_8;
      delay_660ns();
      GPIOA- >BRR = GPIO_PIN_8;
      delay_660ns();
    }
    else
    {
      GPIOA- >BSRR = GPIO_PIN_8;
      delay_330ns();
      GPIOA- >BRR = GPIO_PIN_8;
      delay_660ns();
    }
    data< <=1;
  }
}


#define CONFIG_LED_COUNT 12


void updata_light(uint8_t green,uint8_t red,uint8_t blue)
{  
  rt_base_t level = rt_hw_interrupt_disable();//關閉中斷

  for(int i=0;i< CONFIG_LED_COUNT;i++)
  {  
      WS2812_Send(green);      //發送當前需要亮的燈的顏色
      WS2812_Send(red);
      WS2812_Send(blue);
  }
  rt_hw_interrupt_enable(level);//開啟中斷

  rt_hw_us_delay(300);//復位顯示
}

四 總結

當燈的數量比較多的時候,就不能用這種延時方式了,長時間的關閉中斷可能會引起一些中斷無法及時響應造成數據丟失,在發現問題的時候或者調試新算法的時候,需要基于數據來分析問題,有了數據自然就會有答案了。

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

    關注

    53

    文章

    8254

    瀏覽量

    146465
  • led燈
    +關注

    關注

    22

    文章

    1592

    瀏覽量

    108057
  • GPIO
    +關注

    關注

    16

    文章

    1205

    瀏覽量

    52139
  • 串口中斷
    +關注

    關注

    0

    文章

    64

    瀏覽量

    13921
  • WS2812B
    +關注

    關注

    1

    文章

    38

    瀏覽量

    2191
收藏 人收藏

    評論

    相關推薦

    什么是WS2812BWS2812B帶是怎么連接的呢?

    WS2812B是一款全彩LED控制IC,單總線控制,何為單總線我的理解就是數據線在一根線上傳輸的控制方式就是單總線。
    的頭像 發表于 07-08 14:53 ?1.1w次閱讀
    什么是<b class='flag-5'>WS2812B</b>?<b class='flag-5'>WS2812B</b><b class='flag-5'>燈</b>帶是怎么連接的呢?

    哪位大神有完整的STM32F205驅動WS2812B帶的程序

    哪位大神有完整的STM32F205驅動WS2812B帶的程序
    發表于 09-03 18:08

    使用ESP8266驅動WS2812B型RGB LED智能制作分享

    這個智能方案很不錯,只用了一個無線WIFI esp8266芯片,驅動ws2812b型RGB LED,效果很贊,在群里看到的,特分享下,若是侵犯了版權,聯系我刪除就行了
    發表于 07-16 04:35

    WS2812B RGB全彩LED

    WS2812B RGB全彩LED珠,只需通過一根信號線控制多個顯示,本教程使用X-CTR100控制器驅動
    發表于 08-06 08:15

    怎樣使用PWM+DMA的方式去驅動WS2812B

    PWM+DMA 驅動 WS2812一、項目要求(主要目的)使用 PWM+DMA 的方式驅動 WS2812B, 并每隔 800ms 隨機顯示
    發表于 02-22 06:42

    ws2812b led做遠程區域面板控制器的教程

    描述WS2812B 遠程區域面板控制器我用ws2812b led做了一個面板,你可以把覆盆子前面的動畫放到面板上使用此板,您可以控制面板并將其放置在任何有 wifi 的地方PCB代
    發表于 07-29 07:16

    使用WS2812b Led的diy光劍光劍控制器

    描述使用 WS2812b Led 的 diy 光劍光劍控制器,包括用于聲音的微型 SD 插槽、用于運動跟蹤的 6 軸傳感器和用于光劍聲音的揚聲器。通過板載 USB 端口和 Arduino IDE 進行編程。
    發表于 08-25 07:40

    WS2812B最后一個顏色總是不對,是什么原因造成的?

    WS2812B最后一個顏色總是不對
    發表于 09-20 07:24

    【LuckFox Pico Plus開發板免費試用】05_使用SPI驅動WS2812B

    使用SPI驅動WS2812B 前面把開發環境全部搭好,工具也都準備好了,這次就來做點小demo,正好手上有一個WS2812B的小,上面有
    發表于 10-29 19:15

    使用ESP8266驅動WS2812B型RGB LED簡單3步打造智能

    使用ESP8266驅動WS2812B型RGB LED簡單3步打造智能
    發表于 03-26 17:15 ?141次下載

    Arduino WS2812B LED帶設計方案

    Arduino WS2812B LED帶可單獨控制每個LED的亮度和顏色,提供了一種簡單而酷炫的LED效果體驗。
    發表于 04-24 08:36 ?1.3w次閱讀
    Arduino <b class='flag-5'>WS2812B</b> LED<b class='flag-5'>燈</b>帶設計方案

    使用WS2812b Led的diy光劍控制器

    電子發燒友網站提供《使用WS2812b Led的diy光劍控制器.zip》資料免費下載
    發表于 08-02 11:01 ?11次下載
    使用<b class='flag-5'>WS2812b</b> Led<b class='flag-5'>燈</b><b class='flag-5'>條</b>的diy光劍控制器

    迷你乒乓球含Arduino Nano WS2812B LED

    電子發燒友網站提供《迷你乒乓球含Arduino Nano WS2812B LED.zip》資料免費下載
    發表于 11-02 11:00 ?0次下載
    迷你乒乓球含Arduino Nano <b class='flag-5'>WS2812B</b> LED<b class='flag-5'>燈</b><b class='flag-5'>條</b>

    WS2812B遙控控制器

    電子發燒友網站提供《WS2812B遙控控制器.zip》資料免費下載
    發表于 11-25 09:16 ?8次下載
    <b class='flag-5'>WS2812B</b>遙控<b class='flag-5'>燈</b>控制器

    適用于Azure Sphere的WS2812B LED驅動

    電子發燒友網站提供《適用于Azure Sphere的WS2812B LED驅動器.zip》資料免費下載
    發表于 12-06 14:42 ?0次下載
    適用于Azure Sphere的<b class='flag-5'>WS2812B</b> LED<b class='flag-5'>燈</b>帶<b class='flag-5'>驅動</b>器
    主站蜘蛛池模板: 四虎精品久久久久影院| 亚洲最大在线视频| 欧美末成年videos在线| 欧美极品尿交| 日本不卡一二三| 少妇大荫蒂毛多毛大| 小草影院免费| 一个人免费视频在线观看高清版| 与子敌伦刺激对白亂輪亂性 | 国内外成人免费在线视频| 精品无码乱码AV| 男女牲交大战免费播放| 人妻少妇69式99偷拍| 午夜一个人在线观看完整版| 亚洲视频中文字幕在线观看| 91精品视频网站| 高清撒尿hdtube撒尿| 国产在线精品亚洲二品区| 久久亚洲AV成人无码国产漫画| 欧美自拍亚洲综合图区| 亚欧免费观看在线观看更新| 中文字幕一区久久久久| 朝鲜美女bbwbbw撒尿| 国内一级一级毛片a免费| 免费无码又爽又黄又刺激网站| 日韩人妻精品久久日| 亚洲免费在线播放| 99热在线观看精品| 国产精品亚洲在钱视频| 久久综合给会久久狠狠狠| 日韩视频中文字幕精品偷拍| 亚洲欧美激情精品一区二区| 99国内精品久久久久久久清纯| 国产精品国产三级国产an | 处女座历史名人| 久久aa毛片免费播放嗯啊| 青柠在线观看免费完整版| 亚洲精品一区国产欧美| hdxxxx58丝袜连裤袜| 黄页网站18以下勿看免费| 欧式午夜理伦三级在线观看|