找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 259|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

求助12832 OLED移植代碼,屏幕不亮

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1142350 發(fā)表于 2025-4-7 17:25 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
基本情況
芯片:stm32f401ccu6
屏幕:12832OLED
引腳:SCLPB3  SDAPA8上拉電阻都是10k
IO口模擬I2C
在103板子上屏幕顯示正常
401代碼
int main(void)
{        
        int t;
                delay_init();                     //延時(shí)函數(shù)初始化         
                NVIC_Configuration();          //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)         LED_Init();                             //LED端口初始化
                OLED_Init();

               while(1){               
        OLED_Clear();
        OLED_ShowString(0,0,"OLED TEST",16);
//        OLED_ShowString(0,2,"Hello World!",16);
        delay_ms(2000);

        OLED_Clear();
        OLED_ShowNum(0,0,1234,4,16);
        delay_ms(2000);
        }

OLED初始化
void OLED_Init(void)
{         

         
         GPIO_InitTypeDef  GPIO_InitStructure={0};
         
        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;         //PD3,PD6推挽輸出
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
         GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;                  //推挽輸出
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//速度50MHz
        GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;
         GPIO_Init(GPIOB, &GPIO_InitStructure);          //初始化GPIOD3,6

        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;         //PD3,PD6推挽輸出  
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
         GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;                  //推挽輸出
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//速度50MHz
        GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;
         GPIO_Init(GPIOA, &GPIO_InitStructure);          //初始化GPIOD3,6
        OLED_SCLK_Set();
        OLED_SDIN_Set();

Delay_1ms(100);//上電延時(shí)

delay_ms(500);
OLED_WR_Byte(0xAE,OLED_CMD);//關(guān)閉顯示
        
        OLED_WR_Byte(0x40,OLED_CMD);//---set low column address
        OLED_WR_Byte(0xB0,OLED_CMD);//---set high column address

        OLED_WR_Byte(0xC8,OLED_CMD);//-not offset

        OLED_WR_Byte(0x81,OLED_CMD);//設(shè)置對(duì)比度
        OLED_WR_Byte(0xff,OLED_CMD);

        OLED_WR_Byte(0xa1,OLED_CMD);//段重定向設(shè)置

        OLED_WR_Byte(0xa6,OLED_CMD);//
        
        OLED_WR_Byte(0xa8,OLED_CMD);//設(shè)置驅(qū)動(dòng)路數(shù)
        OLED_WR_Byte(0x1f,OLED_CMD);
        
        OLED_WR_Byte(0xd3,OLED_CMD);
        OLED_WR_Byte(0x00,OLED_CMD);
        
        OLED_WR_Byte(0xd5,OLED_CMD);
        OLED_WR_Byte(0xf0,OLED_CMD);
        
        OLED_WR_Byte(0xd9,OLED_CMD);
        OLED_WR_Byte(0x22,OLED_CMD);
        
        OLED_WR_Byte(0xda,OLED_CMD);
        OLED_WR_Byte(0x02,OLED_CMD);
        
        OLED_WR_Byte(0xdb,OLED_CMD);
        OLED_WR_Byte(0x49,OLED_CMD);
        
        OLED_WR_Byte(0x8d,OLED_CMD);
        OLED_WR_Byte(0x14,OLED_CMD);
        
        OLED_WR_Byte(0xaf,OLED_CMD);
        OLED_Clear();



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1142350 發(fā)表于 2025-4-7 17:29 | 只看該作者
功能代碼都是103移植的,401需要跟sht30共用,main中暫時(shí)沒(méi)包含,電壓是夠的
回復(fù)

使用道具 舉報(bào)

板凳
ID:1142350 發(fā)表于 2025-4-7 17:44 | 只看該作者
注釋跟代碼無(wú)關(guān),是移植的時(shí)候沒(méi)改
回復(fù)

使用道具 舉報(bào)

地板
ID:460753 發(fā)表于 2025-4-9 11:06 | 只看該作者
這個(gè)燈我記得有兩種速率的,另一種是1000ns左右
回復(fù)

使用道具 舉報(bào)

5#
ID:1142350 發(fā)表于 2025-4-9 17:36 | 只看該作者
我錯(cuò)誤原因是delay.h里面沒(méi)包含#include "stm32f4xx.h",但是delay.h包含sys.h,sys.h里面包含#include "stm32f4xx.h",但是在delay.h加上這個(gè)頭文件之后就好了。還是自己粗心的問(wèn)題
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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