• Arduino框架下轻量级ssd1306 I2C屏幕驱动库


    Arduino框架下轻量级ssd1306 I2C屏幕驱动库


    OLED_I2C库

    用于I2C的多平台库支持 128x32128x64像素的SSD1306 oled

    • 下载地址: http://www.rinkydinkelectronics.com/library.php?id=80

    开发板型号支持

    • ESP8266
    • ESP32
    • avr
    • ARM
    • pic32

    对于国内大部分玩家来说,基本都是前面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);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    参考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
    
    • 1

    • 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);//显示位图
      在这里插入图片描述
  • 相关阅读:
    Qt QLable 字符过长省略
    GeoServer:Vector Tiles-矢量瓦片制作与加载
    重装系统后要安装哪些驱动
    【云原生】设备入云之FlexManager实际项目操作流程
    追求性能极致:Redis6.0的多线程模型
    精准化设备巡检,大幅度提升设备利用率
    【SpringMVC】使用Eclipse创建第一个SpringMVC项目
    HTTP 请求中的请求方法有哪些常见的类型?
    实用调试技巧
    【glog用途用法和显示样式】
  • 原文地址:https://blog.csdn.net/weixin_42880082/article/details/126051549