



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、關于WS2812B我就不多說了,規(guī)格說明書講的很詳細。目前網上分享的2812驅動比較少,而且說明不詳,使用起來不是很方便,本著共同進步的精神在這里和大家分享一下我的調試經驗。MCU:STC12C5A08S2晶振:24M/經驗:2812時序要求還是比較嚴,對傳統(tǒng)51來說實現真的有難度,之前網上共享的STC89C52的驅動,即使真的點亮了燈帶,估計也達不到我們的控制要求。因為1T的51加上24M的晶振,我在調試時也有點勉強,一次IO的翻轉就要300ns。下面是燈帶的驅動程序,可直接用:sbit Din = P32;uint8 bdata LED_DAT;/可位操作的數據發(fā)送暫存變量聲明sbit b
2、it0 = LED_DAT0; /被發(fā)送的數據各位定義sbit bit1 = LED_DAT1;sbit bit2 = LED_DAT2;sbit bit3 = LED_DAT3;sbit bit4 = LED_DAT4;sbit bit5 = LED_DAT5;sbit bit6 = LED_DAT6;sbit bit7 = LED_DAT7;/復位碼:低電平>50usvoid Reset()uint8 i;Din = 0;for(i = 0; i < 50; i+) ; /=/發(fā)送RGB數據,一個nop為40ns, 刷新一次32*24*1.25us=960us/=/1碼 高電平
3、850ns,低電平400ns實測863,424#define CODE1Din = 1;_nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_(); Din = 0;_nop_();_nop_();/0碼 高電平400ns,低電平850ns實測343,704#define CODE0Din = 1;_nop_();_nop_();_nop_();_nop_(); Din = 0;
4、_nop_();_nop_();_nop_();_nop_();_nop_();1 / 4 _nop_();_nop_();_nop_();_nop_(); void SendData(uint8 *dat) /數據格式G7-G0-R7-R0-B7-B0 LED_DAT = *dat+; if(bit7=1) CODE1 else CODE0 if(bit6=1) CODE1 else CODE0 if(bit5=1) CODE1 else CODE0 if(bit4=1) CODE1 else CODE0 if(bit3=1) CODE1 else CODE0 if(bit2=1) CODE
5、1 else CODE0 if(bit1=1) CODE1 else CODE0 if(bit0=1) CODE1 else CODE0 LED_DAT = *dat+; if(bit7=1) CODE1 else CODE0 if(bit6=1) CODE1 else CODE0 if(bit5=1) CODE1 else CODE0 if(bit4=1) CODE1 else CODE0 if(bit3=1) CODE1 else CODE0 if(bit2=1) CODE1 else CODE0 if(bit1=1) CODE1 else CODE0 if(bit0=1) CODE1 e
6、lse CODE0 LED_DAT = *dat; if(bit7=1) CODE1 else CODE0 if(bit6=1) CODE1 else CODE0 if(bit5=1) CODE1 else CODE0 if(bit4=1) CODE1 else CODE0 if(bit3=1) CODE1 else CODE0 if(bit2=1) CODE1 else CODE0 if(bit1=1) CODE1 else CODE0 if(bit0=1) CODE1 else CODE0/經驗:SendData的傳入參數,我用的是數組uint8 GRBData323; 分別對應32顆燈的
7、GRB數據。這里有兩點需要注意:1 、別用結構體。雖然結構體看起來用起來很直觀方便,但是結構體的尋址方式時間比數組長很多,哪怕你傳入后用指針也不行。typedef struct uint8 G;uint8 R;uint8 B;COLOUR;2 、編譯方式Memory Model 只能選擇Small。此時局部變量是放在0x00-0x7f的128個RAM里面執(zhí)行的,速度也是最快的;選其他模式,則會放到xdata 里,這樣讀取速度慢了,我們的時序也會變。下面是STM32的驅動(聲明:這是網友給我的,用不起別找我)#include "led_register.h"#include
8、"stm32f0xx.h"#define LED_ON (GPIOA->BSRR = 0x00000040)#define LED_OFF (GPIOA->BSRR = 0x00400000)void LED_GPIO_Init() RCC->AHBENR |= 0x00020000 ; /enable the clock of PORTA GPIOA->MODER |= 0x00001000 ; / PA6 out GPIOA->OTYPER &= 0x00000000 ; /pull out GPIOA->OSPEEDR |=
9、 0x00003000 ; / high speed 50MHZ GPIOA->PUPDR |= 0x00002000 ; / PUPD = DOWN GPIOA->BSRR |= 0x00400000 ; / reset PA5 void Send_8bits(uint8_t dat) uint8_t a; for(a=0;a<8;a+) LED_ON; if(dat & 0x80) asm("nop");asm("nop");asm("nop");asm("nop");asm(&quo
10、t;nop");asm("nop"); asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop"); asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop"); asm("n
11、op");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop"); asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop"); asm("nop");asm("nop");asm("nop&q
12、uot;);asm("nop");asm("nop");asm("nop"); dat=dat<<1; LED_OFF; asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop"); else asm("nop");asm("nop");asm("nop");asm(&quo
13、t;nop");asm("nop");asm("nop"); dat=dat<<1; LED_OFF; asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop"); asm("nop");asm("nop");asm("nop");asm("nop");asm(&q
14、uot;nop");asm("nop"); asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop"); asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop"); asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop"); asm("nop");asm("nop");asm("nop");as
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 泌尿科護理技術
- 傳染病培訓制度
- 2025年溶劑型色漿項目合作計劃書
- 高端家居展品運輸安全責任保險協議
- 2025年智能人體秤項目發(fā)展計劃
- 網絡文學作品有聲劇改編權獨家代理合同
- 大型電商促銷活動臨時客服專員招聘合同
- 基于人工智能的在線題庫授權與技術合作合同
- 高端度假村客房委托運營與品牌建設合同
- 社交媒體賬號代運營與品牌價值提升合同
- CONSORT2010流程圖(FlowDiagram)【模板】文檔
- JGT501-2016 建筑構件連接處防水密封膏
- 實驗 驗證牛頓第二定律
- 籃球比賽分組循環(huán)積分表
- 鉆孔水文地質工程地質綜合編錄一覽表模板
- 海外政策手冊(2):國別研究沙特經濟轉型與中沙合作機遇
- 二年級上冊心理健康教育說課稿-面對批評 全國通用
- 工程管理檢討書
- 時間序列的分解課件
- 2023年廣西賀州中考語文真題及答案
- 閩西傅氏百一郎公后裔遷徙情況
評論
0/150
提交評論