日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JL690X(2)驱动RGB灯带

發布時間:2023/12/20 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JL690X(2)驱动RGB灯带 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

AC690X驅動WS2812(SM16703P)點亮RGB燈帶

????????在使用AC690X系列藍牙時,需要設計驅動幾十個RGB燈帶的程序,經一段時間學習后成功驅動,現在把實現過程分享給大家共同學習。

??????1.芯片說明

????????此類芯片協議采用的是單極性歸零碼,每一個碼元都必須有高低電平。本協議的每個碼元起始為高電平,高電平時間寬度決定“0”碼或者“1”碼。

名稱描述最小值典型值最大值單位
T0H0碼,高電平時間0.3us
T1H0碼,低電平時間0.9us
T0L1碼,高電平時間0.9us
T0H1碼,低電平時間0.3us
TrstReset碼,低電平時間80us

????????關于其他的參數,級聯等,芯片手冊均有說明,這里不再贅述。作者在查閱資料時發現關于歸零碼高低電平時間的定義有多種,只要范圍在如下時間左右基本都可實現驅動,零碼:高電平時間400ns,低電平時間800ns;‘1’碼:高電平時間800ns,低電平時間400ns,‘0’碼:高電平時間400ns,低電平時間800ns。

??????2.驅動方法

????????作者通過SPI驅動RGB燈條,在AC690X的SDK基礎上利用SPI1的PB12和PB11分別作為數據線和時鐘線進行驅動,此驅動方法的弊端就是PB11會有時鐘信號輸出不能再用于其他功能,PB10只要設置SPI1為單向通訊即可做普通IO使用。

??????3.代碼設計

????????SPI1驅動的方式是8 Bit 模擬一個歸零碼的一個‘0’或者‘1’;因此‘0’碼對應的數據為0xC0,‘1’碼對應的數值為0xFC。讀者亦可使用三個時鐘周期模擬一個‘0’碼或者‘1’碼,這種方式一個IC的24BIT剛好是1Byte的時鐘周期,注意兩種模擬方式時鐘周期不同。回歸正題,首先在lcd_spi.c文件做出如下修改:

//#if LCD_128X64_EN #if 1

????????盡量不要在sdk_cfg.h中直接修改LCD_128X64_EN 的值為1,這樣的操作會編譯不需要的代碼。 開啟此SPI相關函數定義之后,在初始化時初始SPI相關寄存器(SDK直接調用SPI1_init()函數即可,速度設置為8M)。

while(1) {clear_wdt();SPI1_DmaWrite(RGBData,24*RGBNum); }

RGBNum為RGB燈珠的數目,可依據實際數目進行設置參數;若實際RGB顏色出現混亂的現象,RGBData數據組成修改為:N個0x00 + RGB數據 + M個0x00,N和M的取值用戶自行設置驗證。

??????4.結束語

????????以上便是本人使用AC690X設計RGB驅動的實現過程,鄙人才疏學淺,文章如存在錯誤之處望大家不吝賜教,贈于鄙人學習的機會。歡迎大家進行交流學習,企鵝583671536。

總結

以上是生活随笔為你收集整理的JL690X(2)驱动RGB灯带的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。