ssd1326是:256*32
(手册我和ssd1322比较了就是找不到写ram的指令)
ssd1322手册里有直接写ram的指令的。
原子哥和其他高人帮能我看看吗?这个OLED是如何往里面写数据的。初始化函数是官方提供的如下:
OLED_RST_Clr();
delay_ms(100);
OLED_RST_Set();
OLED_WR_Byte(0xFD,OLED_CMD); //Set Command Lock
OLED_WR_Byte(0x12,1);
OLED_WR_Byte(0xAE,OLED_CMD); //Set Display ON/OFF
OLED_WR_Byte(0x15,OLED_CMD); //Set Column Address
OLED_WR_Byte(0x00,1);
OLED_WR_Byte(0x7F,1);
OLED_WR_Byte(0x75,OLED_CMD); //Set Row Address
OLED_WR_Byte(0x00,1);
OLED_WR_Byte(0x1F,1);
OLED_WR_Byte(0x81,OLED_CMD); //Set Contrast Current
OLED_WR_Byte(0x27,1);
OLED_WR_Byte(0x87,OLED_CMD); //Set Current Range
OLED_WR_Byte(0xA0,OLED_CMD); //Set Re-map and Gray Scale /Mono Mode
OLED_WR_Byte(0x07,1); // Gray Scale
//OLED_WR_Byte(0x00,OLED_CMD); //Mono Mode
OLED_WR_Byte(0xA1,OLED_CMD); //Set Display Start Line
OLED_WR_Byte(0x00,1);
OLED_WR_Byte(0xA2,OLED_CMD); //Set Display Offset
OLED_WR_Byte(0x00,1);
OLED_WR_Byte(0xA8,OLED_CMD); //Set MUX Ratio
OLED_WR_Byte(0x1F,1);
OLED_WR_Byte(0xB1,OLED_CMD); //Set Phase Length
OLED_WR_Byte(0x71,1);
OLED_WR_Byte(0xB3,OLED_CMD); //Set Front Clock Divider / Oscillator
OLED_WR_Byte(0xF0,1);
OLED_WR_Byte(0xB7,OLED_CMD); //Select Default Linear Gray Scale table
OLED_WR_Byte(0xBB,OLED_CMD); //Set Pre-charge Steup
OLED_WR_Byte(0x35,1);
OLED_WR_Byte(0xFF,1);
OLED_WR_Byte(0xBC,OLED_CMD); //Set Pre-charge voltage
OLED_WR_Byte(0x1F,1);
OLED_WR_Byte(0xBE,OLED_CMD); //Set VCOMH
OLED_WR_Byte(0x0F,1);
OLED_WR_Byte(0xAF,OLED_CMD); //Set Display ON/OFF
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
贴OLED_WR_Byte函数代码看下
---------------------------------
原子哥我问下你:那个ssd1306里面你设置好行列后为什么就可以直接写ram数据了呢,手册里找不到原理啊
OLED_WR_Byte (0xb0+i,OLED_CMD); //设置页地址(0~7)
OLED_WR_Byte (0x00,OLED_CMD); //设置显示位置—列低地址
OLED_WR_Byte (0x10,OLED_CMD); //设置显示位置—列高地址
for(n=0;n<128;n++)OLED_WR_Byte(OLED_GRAM[n],OLED_DATA);
---------------------------------
你仔细看下第39页的10 COMMAND DESCRIPTION这个
您看Command List,有些Command需要參數,而下參數D/C#也是設0
所以SSD1306下Command & arameter, D/C#都是設0
而D/C#設1,則是將數據直接寫入GDDRAM中
一周热门 更多>