用于
I2C的多平台库支持128x32和128x64像素的SSD1306 oled
对于国内大部分玩家来说,基本都是前面4种的开发需求。
OLED(uint8_t data_pin, uint8_t sclk_pin, uint8_t rst_pin);
OLED(uint8_t data_pin, uint8_t sclk_pin);
boolean begin(uint8_t dtype = SSD1306_128X64);
void update();
void setBrightness(uint8_t value);
uint8_t getDisplayHeight();
void clrScr();
void fillScr();
void invert(bool mode);
void rotateDisplay(bool rot);
void sleepMode(bool mode);
void setPixel(uint16_t x, uint16_t y);
void clrPixel(uint16_t x, uint16_t y);
void invPixel(uint16_t x, uint16_t y);
void invertText(bool mode);
void print(const char *st, int x, int y);
void print(String st, int x, int y);
void printNumI(long num, int x, int y, int length=0, char filler=' ');
void printNumF(double num, byte dec, int x, int y, char divider='.', int length=0, char filler=' ');
void setFont(uint8_t* font);
void drawBitmap(int x, int y, uint8_t* bitmap, int sx, int sy);
void drawLine(int x1, int y1, int x2, int y2);
void clrLine(int x1, int y1, int x2, int y2);
void drawRect(int x1, int y1, int x2, int y2);
void clrRect(int x1, int y1, int x2, int y2);
void drawRoundRect(int x1, int y1, int x2, int y2);
void clrRoundRect(int x1, int y1, int x2, int y2);
void drawCircle(int x, int y, int radius);
void clrCircle(int x, int y, int radius);
参考OLED_I2C库文件下的OLED_I2C.pdf文档
begin()//初始化函数参数:
SSD1306_128X32:32
SSD1306_128X64:64
print(); printNumI() ; printNumF();//初始化函数参数:
LEFT::0
RIGHT:9999
CENTER:9998
sleepMode()//初始化函数参数:
SLEEP_ON:true
SLEEP_OFF:false
setFont()//初始化函数参数:
TinyFont
SmallFont
MediumNumbers
BigNumbers
OLED(Data, Clock, [Reset]);//指定I2C引脚参数:
Data: Pin for Data transfer
Clock: Pin for Clock signal
Reset: Pin for Reset <可选>
setBrightness(value);//设置亮度(0-255)参数:
value: Specify a value to use for brightness (0-255)
getDisplayHeight();无参数。
int y_pix = myOLED. getDisplayHeight(); // Get the height of the display in pixel
rotateDisplay(value); 参数:
value:
true- Rotate the output to the display 180°
false– Disable display rotation
update();//显示更新函数fillScr();//填充屏幕显示invert(mode)//反色显示参数:
mode:
true- Invert the display
false– Normal display
setPixel(x, y);//画点clrPixel(x, y); //清除指定点invPixel(x, y);//指定点颜色取反print(st, x, y); //字符串显示printNumI(num, x, y[, length[, filler]]);
printNumF(num, dec, x, y[, divider[, length[, filler]]]);
invertText(mode);如果使用了 print(), printNumI() and printNumF() 可以使用此函数来清除以上内容。
invertText(mode); 
drawLine(x1, y1, x2, y2)//划线函数clrLine(x1, y1, x2, y2)//画圆函数drawRect(x1, y1, x2, y2);//画矩形clrRect(x1, y1, x2, y2);//清除矩形区域内的显示drawRoundRect(x1, y1, x2, y2); //绘制带圆角的矩形clrRoundRect(x1, y1, x2, y2);//清除带圆角的矩形drawCircle(x, y, radius);//绘制圆clrCircle(x, y, radius); //清除圆内的显示drawBitmap (x, y, data, sx, sy);//显示位图