欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: STC8H8K64U硬件SPI如何驅(qū)動(dòng)ST7789液晶屏 [打印本頁(yè)]

作者: 高低都不調(diào)    時(shí)間: 2024-11-14 16:24
標(biāo)題: STC8H8K64U硬件SPI如何驅(qū)動(dòng)ST7789液晶屏
下面代碼是中景園給的程序,正常通過(guò)軟件模擬spi正常顯示。現(xiàn)在改了很多代碼屏幕無(wú)法點(diǎn)亮求指教




硬件spi驅(qū)動(dòng)st7789.zip

189 KB, 下載次數(shù): 0


作者: rsx9583    時(shí)間: 2024-11-15 00:02
中景園的代碼直接用一般沒(méi)問(wèn)題。我猜測(cè),你是忘記把STC的IO口初始化了。STC的IO不初始化都是高阻狀態(tài),不能直接使用。
作者: jintaiyang    時(shí)間: 2024-11-15 07:41
我下載看了一下,認(rèn)為因該是沒(méi)有STC8HXXX.H文件造成的。樓主把頭文件加里就行了。
作者: 高低都不調(diào)    時(shí)間: 2024-11-15 09:14
rsx9583 發(fā)表于 2024-11-15 00:02
中景園的代碼直接用一般沒(méi)問(wèn)題。我猜測(cè),你是忘記把STC的IO口初始化了。STC的IO不初始化都是高阻狀態(tài),不能 ...

中景園用的是軟件spi驅(qū)動(dòng),我已經(jīng)正常點(diǎn)亮。想改為硬件spi驅(qū)動(dòng)
作者: 高低都不調(diào)    時(shí)間: 2024-11-15 09:15
jintaiyang 發(fā)表于 2024-11-15 07:41
我下載看了一下,認(rèn)為因該是沒(méi)有STC8HXXX.H文件造成的。樓主把頭文件加里就行了。

頭文件在我c盤(pán)
作者: lkc8210    時(shí)間: 2024-11-15 10:03
30塊包郵的邏輯分析儀,你值得擁有
作者: jjy1039    時(shí)間: 2024-11-15 10:56
先檢查一下miso和mosi是否正確,如果都正確,試試spi初始化為 SPCTL = 0x50;
作者: 達(dá)達(dá)別    時(shí)間: 2025-4-1 23:12
樓主我最近也在研究硬件SPI驅(qū)動(dòng),這樣刷新比較快 哦,大概快個(gè)20-30倍左右。。。但還是沒(méi)有點(diǎn)亮,硬件準(zhǔn)備畫(huà)個(gè)板重新測(cè)試一下,軟件如下希望給你有幫助,,,
// 宏定義
#define SPI_MODE_2 (0x08 | 0x04) // CPOL=1, CPHA=0
#define SPI_SPEED_DIV16 (0x02)   // SPR=10, 時(shí)鐘分頻為16
#define SPI_ENABLE (0x40)        // SPEN=1
#define SPI_MASTER_MODE (0x10)   // MSRT=1

void init_SPI() // 初始化硬SPI
{
    CS = 0; // 打開(kāi)片選信號(hào),使能OLED屏
    P_SW1 |= 0x04; // P2.2-P2.5

    SPSTAT = 0xC0; // 清空標(biāo)志位
    SPCTL = (SPCTL & ~0x80) | SPI_ENABLE; // 使能SPI
    SPCTL = (SPCTL & ~0x10) | SPI_MASTER_MODE; // 設(shè)置為主機(jī)模式
    SPCTL = (SPCTL & ~0x18) | SPI_MODE_2; // 設(shè)置時(shí)鐘極性和相位
    SPCTL = (SPCTL & ~0x03) | SPI_SPEED_DIV16; // 設(shè)置時(shí)鐘分頻
}

void OLED_WriteByte(unsigned char dat, unsigned char cmd)
{
    if (cmd != 0 && cmd != 1)
    {
        // 參數(shù)錯(cuò)誤處理
        return;
    }
    DC = cmd; // 寫(xiě)命令或?qū)憯?shù)據(jù)
    SPI_WriteByte(dat); // 硬SPI寫(xiě)數(shù)據(jù)
}

void SPI_WriteByte(unsigned char dat)
{
    SPSTAT = 0xC0; // 清空標(biāo)志位
    SPDAT = dat; // 寫(xiě)入數(shù)據(jù)
    unsigned int timeout = 1000; // 設(shè)置超時(shí)計(jì)數(shù)
    while (!(SPSTAT & 0x80) && timeout--) // 等待傳輸完成,同時(shí)檢查超時(shí)
    {
        // 空循環(huán)
    }
    if (timeout == 0)
    {
        // 處理超時(shí)情況,例如設(shè)置錯(cuò)誤標(biāo)志或重啟SPI模塊
    }
}
作者: keemee    時(shí)間: 2025-4-4 04:48
lkc8210 發(fā)表于 2024-11-15 10:03
30塊包郵的邏輯分析儀,你值得擁有

肯定有優(yōu)惠




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1