久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: OLED屏點亮總結-重要補充 [打印本頁]

作者: dzllz    時間: 2022-2-15 23:47
標題: OLED屏點亮總結-重要補充
     本來這是一篇內容,但卻昨天實在太晚,沒有完成,這里把內容補充完整。
     OLED屏點不亮跟兩個方面有關:硬件(硬件驅動)和軟件(用戶程序)。
     OLED屏分兩種接口,SPI接口和IIC接口。
     1. 這里以SPI接口為例(網上有一家做的挺好,硬件驅動也非常工整、詳細,你如果仔細學習一下,可以用他們家的函數在屏幕上做出各種參數的矢量圖。但他們家也存在函數不統一的現象。后面的程序均以此家為例)還是拿STM32103C8T6來講。這款芯片有2個硬件SPI接口,你會發現廠家的OLED屏驅動引腳落在其中一組SPI引腳上(PA5,PA7),也僅有這兩個引腳可以復用SPI,其他的是普通引腳。所以說廠家的驅動程序是軟件模擬SPI接口,知道了這一點,我們可以做很多事情,也可以避免很多坑。
     不要設定硬件SPI,特別是使用STM32CubeMX設定硬件環境的。如果設了,你可能會點不亮屏,還不知什么原因。
    2.有人就會說,那是不是我就可以隨便選擇引腳了呢。請看下面這個坑。
      芯片STM32F103T8,這個芯片QFN封裝,36個引腳。
      a.使用內部晶振和OLED屏。使用普通引腳無法點亮,但把引腳設在SPI這幾個引腳上(引腳定義普通IO,不復用SPI硬件)卻可以點亮。
      b.使用外部晶振和OLED屏普通引腳可以點亮,你可以隨便選。
      為什么會這樣,這要回到單片機的物理特性了--PIN腳工作頻率。有人會說,我初始化時已經明確引腳頻率了?墒悄憧赡軟]有用示波器真實測過引腳的頻率,
實際的頻率遠比你設定的要低。
     但有一個明確的規律,硬件SPI的頻率高于普通引腳的頻率,使用硬件晶振的引腳頻率高于使用內部晶振的引腳頻率所以你就會明白,OLED為什么點不亮,頻率不匹配。
    3.使用SPI引腳(PA15,PB3,PB4,PB5)時存在以下問題,當開啟Serial Wire Debug模式時,如果使用這幾個SPI引腳(PA15,PB3,PB4,PB5),你會點不亮OLED屏。查到的資料是說,在開啟Serial Wire Debug模式下系統默認那幾個引腳是調試引腳,所以當你設為OLED屏驅動引腳時,是無法點亮屏幕的。
      你可以在引腳初始化函數里加上下面這兩行代碼,打開這幾個腳,就可以點亮了。
       GPIO_InitTypeDef  GPIO_InitStructure;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//打開時鐘
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);//禁用調試功能
看到這個,你會發現,禁用了調試功能。沒錯,結果就是,屏幕亮了,卻不能Debug和燒錄程序了。怎么辦,長按reset鍵,再次燒錄,程序會刪除芯片中內容,并報錯。不要管錯誤,再次識別,發現芯片可以寫了。記著把剛才兩句刪掉。
     這幾個腳不是不能用,只是調試的時候慎用。
     下面再聊一下軟件。
     4.看下面代碼
     int main(void)
    {
        delay_init();
        OLED_Init();
        while(1)
        {
               
            OLED_ShowString(0,48,"ASCII:",16);  
            OLED_ShowString(63,48,"CODE:",16);

        }
   }
   該有的好像都有了,驅動也是原廠的,可就是點不亮屏幕。
   這個版本的驅動程序有一條指令:OLED_Refresh(),刷新屏幕。這個版本的邏輯是,上面的指令只是把內容寫進了顯存。你還需要下指令讓它更新屏幕。
  5.對于某些實例,7腳的SPI接口只定義4個引腳接口。新手會越看越糊涂。
    其實很好理解,7腳的SPI接口OLED屏最后一個引腳CS是片選引腳,也就是控制OLED屏是否可以使用。低電平有效,如果你對屏幕沒有特殊需求,可以把該腳直接接地?梢怨澥∫粋IO口。


    寫到這里,也就到結尾了。使用中總會碰到一些特殊的情況,特別記錄下來,供大家參考。如有不同意見,歡迎提出,共同學習。

作者: hujj    時間: 2022-2-16 09:54
問題1很可能是SPI的模式沒有選擇正確造成的;
問題2是SPI的速率沒有選擇正確造成的。
作者: lxllsb    時間: 2022-2-16 13:50
hujj 發表于 2022-2-16 09:54
問題1很可能是SPI的模式沒有選擇正確造成的;
問題2是SPI的速率沒有選擇正確造成的。






歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久久精品久久久久久久 | 在线观看国产小视频 | 成人香蕉网| 香蕉综合网 | 免费三级黄色片 | 国产精品久久久久久久午夜 | 国产三级在线播放 | 黄色片中文字幕 | 啪啪免费网站 | 在线va | 天堂av片| 日产精品久久久一区二区 | 成人国产网站 | 亚洲精品免费看 | 激情久久av | 亚洲综合在线视频 | 国精产品99永久一区一区 | 免费在线观看黄 | 日日日干干干 | av免费网 | 欧美日韩黄色片 | 国产成人三级一区二区在线观看一 | 欧美一区二区三区的 | 亚洲av毛片成人精品 | 日韩黄色大片 | 国产精品嫩草影院桃色 | 国产成人一区二区 | 国产黄色一级片 | 国产精品久久久久久久 | 国产精品福利在线 | 国内自拍偷拍视频 | 免费视频久久 | 久久久久久亚洲 | 日本天堂在线观看 | 香蕉视频一直看一直爽 | 男人天堂av网 | 91网站免费 | 狠狠干综合网 | 免费视频毛片 | 日韩免费观看视频 | 欧美日本精品 |