![]() |
發布時間: 2024-11-18 16:23
正文摘要:這是STC官網stc32gDMA+spi+中斷檢測驅動ws2812的程序,想請老師指導修改成RGB為一組的追逐流水燈程序,試了幾次沒成。燈條為60燈的 在此感謝!! 以下是程: #define &nb ... |
zhuls 發表于 2024-11-24 23:11 謝謝您指導,正在學習中 |
我也迷戀,冠方論壇點燈大師太多了, 一起交流哈 |
#define SPI_NUM (LED_NUM*12) //這個12從那來?不明白 可能要改為: #define SPI_NUM (LED_NUM*3) //LED燈對應SPI字節數 試試看這個: void run_one_init()//單色遞增 { u8 i,j; u8 color_val=0; for (i=0;i<60;i++) { led_RGB[ i][1]=color_val;//60珠全單色 color_val+=10 ; //色值遞增,無所謂色值多少、遞增多少,只要不超255就OK,但色值超一定值后,人眼并不敏感了。。 } } void run_one_shift()//單色色值轉移 { u8 i,temp_val; u8 color_val=0; temp_val= led_RGB[0][1]; //暫存第一珠的色值 for (i=0;i<59;i++) { led_RGB[ i][1]=led_RGB[i+1][1];//后珠色值移向前珠 } led_RGB[59][1]=temp_val; //最后一珠的色值由第一珠暫存獲取 } 在main中: { . . . run_one_init(); while(1) { run_one_shift(); ws2812_send_all(led_RGB...)... //發送整串色值 delay_ms()... //按需插入延時 } } 手上沒有相應的燈帶,你參考測試一下。 |