亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

求助:STC8G1K08A SPI模擬WS2812單總線,電平時間不符合預(yù)期

查看數(shù): 765 | 評論數(shù): 6 | 收藏 1
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2026-2-23 16:56

正文摘要:

最近想試試用SPI模擬2812彩燈的單總線,理論上是可行的,因為SPI的特性是MOSI和MISO都是不歸零碼,只有需要改變的時候才改變,不會歸零。理論上是可行的。 于是我就根據(jù)STC的手冊寫了簡單的測試程序,手冊給的很清 ...

回復(fù)

ID:688692 發(fā)表于 2026-2-27 00:28
SPI中斷,判斷數(shù)據(jù)要發(fā)送的bit是0還是1,移位數(shù)據(jù),選一個對應(yīng)時序的char扔進寄存器,觸發(fā)SPI發(fā)送,然后等中斷。或者趁中斷沒來之前先去干點別的事情,等1uS后,中斷來了,重復(fù)這些事情……
必要性實在是不是很強
ID:1155837 發(fā)表于 2026-2-26 23:47
cnos 發(fā)表于 2026-2-26 22:17
這樣的代碼不一樣在死等,直接軟件模擬效率還高得多。

void nop(void)

ws2812這種軟件模擬確實更搞高效,傳輸一次也只需要幾十us,不過硬件spi不一定非得死等,可以用SPI中斷的。
ID:688692 發(fā)表于 2026-2-26 22:17
這樣的代碼不一樣在死等,直接軟件模擬效率還高得多。
STC8G@22.1184MHz
void nop(void)
{
}
void WS2812sendbyte(unsigned char byte)
{
        unsigned char i;
        i=8;
        EA=0;
                do
                {
                        WS2812IO=1;nop();
                        WS2812IO=byte&0x80;nop();
                        WS2812IO=0;nop();
                        byte=(byte<<1);                 //左移位
                }while(--i);
        EA=1;
}
ID:1155837 發(fā)表于 2026-2-24 16:43
coody_sz 發(fā)表于 2026-2-24 11:59
你可以去STC官方論壇看看,他們有完整的程序,SPI驅(qū)動WS2812的,其實2812只要保證高電平時間在一定范圍就可 ...

我就是看了,不然都不知道MOSI空閑會輸出MISO電平。
但是實在是搞不懂為什么這51單片機,怎么在24mhz下,主循環(huán)回跳都要整整200ns
ID:1034262 發(fā)表于 2026-2-24 11:59
你可以去STC官方論壇看看,他們有完整的程序,SPI驅(qū)動WS2812的,其實2812只要保證高電平時間在一定范圍就可以了,用于識別數(shù)據(jù)0或1,低電平只要不超過50us就不會復(fù)位,控制在30us之內(nèi)為好。

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表