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

標題: STM32F103+OLED的問題 第二頁內容顯示異常 [打印本頁]

作者: rong666    時間: 2021-7-22 22:33
標題: STM32F103+OLED的問題 第二頁內容顯示異常
            最近用STM32F103在做OLED屏幕調試出現了一些問題,問題:第一頁的顯示的文字是正常的,但是到了第二也就不正常了,也試著從網上找方法解決,都試了,沒有用,求各位網友解答迷惑,謝謝大家.
          第一頁的顯示內容:正常顯示
         第二頁的顯示內容:異常顯示
部分代碼如下:
這個是修改過的漢字顯示代碼
//顯示漢字
void OLED_ShowCHinese(u8 x,u8 y,u8 no)
{                     
    u8 t,adder=0;
    OLED_Set_Pos(x,y);
        if(no < 32)
        {
    for(t=0;t<16;t++)
        {
                OLED_WR_Byte(Hzk[2*no][t],OLED_DATA);
                adder+=1;
     }   
        OLED_Set_Pos(x,y+1);   
    for(t=0;t<16;t++)
            {   
                OLED_WR_Byte(Hzk[2*no+1][t],OLED_DATA);
                adder+=1;
      }
        }   
            if(no >= 32)
            {
                 for(t=0;t<16;t++)
        {
                OLED_WR_Byte(Hzk[2*no-1][t],OLED_DATA);  //處理所存放的第33個漢字時,首先寫入第二行數據
                adder+=1;
     }   
        OLED_Set_Pos(x,y+1);   
    for(t=0;t<16;t++)
            {   
                OLED_WR_Byte(Hzk[2*no][t],OLED_DATA);
                adder+=1;
      }
            }
}

主程序代碼:
    OLED_Init();
   OLED_Clear();
    OLED_ShowCHinese(0,0,8);  //顯示漢字   歡
    OLED_ShowCHinese(16,0,9); //顯示漢字   迎
    OLED_ShowCHinese(32,0,10);  //顯示漢字 使
    OLED_ShowCHinese(48,0,11); //顯示漢字  用
    OLED_ShowCHinese(64,0,12);  //顯示漢字 智
    OLED_ShowCHinese(80,0,13); //顯示漢字  能
    OLED_ShowCHinese(96,0,14);  //顯示漢字 小
    OLED_ShowCHinese(112,0,15); //顯示漢字 車
    Delay_ms(1000);
    OLED_Clear();
    OLED_ShowCHinese(32,0,16);  //顯示漢字 設
    OLED_ShowCHinese(48,0,17); //顯示漢字 計
    OLED_ShowCHinese(64,0,18);  //顯示漢字 者
    OLED_ShowCHinese(80,0,19); //顯示漢字 :
    OLED_ShowCHinese(32,3,20);  //顯示漢字
    OLED_ShowCHinese(62,3,21); //顯示漢字  
    OLED_ShowCHinese(92,3,22);  //顯示漢字
    Delay_ms(1000);
    OLED_Clear();
    OLED_ShowCHinese(0,0,2);  //顯示漢字 車
    OLED_ShowCHinese(16,0,3); //顯示漢字 速
謝謝大家了




捕獲1.PNG (2.31 MB, 下載次數: 67)

第二頁內容:異常顯示

第二頁內容:異常顯示

捕獲.PNG (2.29 MB, 下載次數: 71)

第一張內容:正常顯示

第一張內容:正常顯示

作者: qj3518111    時間: 2021-7-23 09:41
看下正點原子的例程,里面有現成的copy即可
作者: 51mcu    時間: 2021-7-23 10:18
漢字取模方式不對,重新試試.
作者: rong666    時間: 2021-7-23 10:24
51mcu 發表于 2021-7-23 10:18
漢字取模方式不對,重新試試.

那為什么第一頁的內容顯示正常
作者: rong666    時間: 2021-7-23 10:25
qj3518111 發表于 2021-7-23 09:41
看下正點原子的例程,里面有現成的copy即可

我的四線的OLED來的,參考不了
作者: 名字不是重點    時間: 2021-7-23 15:01
X坐標取0-127,按16*16字體,顯示8個漢字
Y坐標取0-7頁,漢顯第一行Y=0 ,第2行Y=2,第3行Y=4,第4行Y=6,一個漢字占2行,全屏顯示8*4個漢字
如果行1從頁1開始,就行2就取頁3,余下類推。
明白這個就行了。
作者: rong666    時間: 2021-7-23 15:03
名字不是重點 發表于 2021-7-23 15:01
X坐標取0-127,按16*16字體,顯示8個漢字
Y坐標取0-7頁,漢顯第一行Y=0 ,第2行Y=2,第3行Y=4,第4行Y=6, ...

謝謝了,我先看看哈
作者: Y_G_G    時間: 2021-7-23 18:06
這本就不是什么多難的事,因為,第二行已經有字的形狀出來了,不是取模的問題就是頁面的地址不對
看一下數據手冊,你至少是要知道怎么去操作這個驅動
SH1106和SSD1306只是初始化代碼一樣而已,顯示原理是不一樣,不是完全兼容的,你要看一下自己 的驅動IC是什么型號的
SH1106的列顯示并不是0-127,是2-129,
如果是左右掃描的話,SSD1306是要指定列地址的,如果是上下掃描顯示的話,就要指定頁面地址
而SH1106是不用的
作者: rong666    時間: 2021-7-23 18:10
Y_G_G 發表于 2021-7-23 18:06
這本就不是什么多難的事,因為,第二行已經有字的形狀出來了,不是取模的問題就是頁面的地址不對
看一下數據 ...

感謝大佬的指導,我去看看
作者: 可愛小馬    時間: 2021-7-24 10:03
取模的問題,去瞅瞅中景園的oled例程把




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