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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

單片機+oled顯示程序問題

查看數: 3894 | 評論數: 5 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2020-1-28 16:54

正文摘要:

樓主用的i2c oled,也就是四腳oled,原來一直用的128x64圖片顯示來做東西玩,最近想做的東西用到的圖片是85x64格式,結果發現oled顯示出現問題,自己改了很多地方都沒法解決 右邊出現了亂碼,程序如下,是商家給的 ...

回復

ID:362076 發表于 2020-1-31 12:25
callmesbplease 發表于 2020-1-30 18:27
我試了一下改代碼,也是圖像能正常顯示,但是列地址沒有填充的空間發生了亂碼,請問是缺少什么其他該有的 ...

首先確定你的圖片取模方式和存放方式,確保它是完全適配圖片繪制函數的,其次,1306寫入數據的時候只修改被寫入的部分,所以在全部開始之前要進行至少一次清屏,以保證每個像素的值是確定的狀態。
ID:608920 發表于 2020-1-30 18:27
凌凈清河 發表于 2020-1-30 08:56
你琢磨琢磨,你圖片是85*64的,OLED是128*64的,在繪制的時候應該怎么選擇范圍?
OLED12864一共8個行寄 ...

我試了一下改代碼,也是圖像能正常顯示,但是列地址沒有填充的空間發生了亂碼,請問是缺少什么其他該有的東西嗎?
  1. void Picture()
  2. {
  3.   unsigned char x,y;
  4.   unsigned int i=0;
  5.   for(y=0;y<8;y++)
  6.     {
  7.       Write_IIC_Command(0xb0+y);
  8.       Write_IIC_Command(0x0);
  9.       Write_IIC_Command(0x10);
  10.       for(x=0;x<84;x++)
  11.         {
  12.           Write_IIC_Data(show[i++]);
  13.         }
  14.     }
  15. }
復制代碼
ID:362076 發表于 2020-1-30 08:56
callmesbplease 發表于 2020-1-29 20:08
所以是我用頁尋址方式不恰當,導致列上面128個點超出圖片的取模范圍了?

你琢磨琢磨,你圖片是85*64的,OLED是128*64的,在繪制的時候應該怎么選擇范圍?
OLED12864一共8個行寄存器(0~7),每個行寄存器有128列(0~127),按照你圖中表現的那樣進行填充,那么應該是行寄存器0~7循環,列寄存器0~84循環填充。
ID:608920 發表于 2020-1-29 20:08
凌凈清河 發表于 2020-1-29 15:37
你的圖片繪制函數在做行填充的時候超界了。

所以是我用頁尋址方式不恰當,導致列上面128個點超出圖片的取模范圍了?
ID:362076 發表于 2020-1-29 15:37
你的圖片繪制函數在做行填充的時候超界了。

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表