【esp32]VSCode-SPI控制OLED

根据Adafruit_GFX第三方库,其drawPixel方法由子类实现

代码:在OLED实现函数功能

先声明类

SPI库和Adafruit库、SSD1306

复制代码
#include <Arduino.h>
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

定义OLED屏幕长和宽

复制代码
#define WIDTH 128
#define HIGHT 64

初始化引脚

复制代码
#define OLED_MOSI 13
#define OLED_SCK 18
#define OLED_DC 2
#define OLED_CS 4
#define OLED_RESET 15

构造对象(长、宽、以及对应各个引脚)使用Ctrl+函数名,可查看函数定义

复制代码
Adafruit_SSD1306 oled(WIDTH,HIGHT,OLED_MOSI,OLED_SCK,OLED_DC,OLED_RESET,OLED_CS);

使用步骤:

初始化OLED,

复制代码
  //OLED初始化
 oled.begin();
 //清除显示
 oled.clearDisplay();

初始化成功后,调用函数,最后调用display()

复制代码
//绘制水平线
 oled.drawFastHLine(32,5,48,SSD1306_WHITE);
 //绘制斜线
 oled.drawLine(32,5,48,30,SSD1306_WHITE);

 oled.drawRect(5,5,10,25,SSD1306_WHITE);
 oled.fillRect(75,5,10,30,SSD1306_WHITE);
 
 //设置光标位置
 oled.setCursor(5,50);
 //设置字体大小
 oled.setTextSize(1,1);
 //设置文本颜色
  oled.setTextColor(SSD1306_WHITE);
 //显示文字
 oled.println("HELLO WORLD!");

 //显示内容
  oled.display();
相关推荐
猪在黑魔纹里14 小时前
解决VSCode无法高亮、解析numpy中的部分接口(如pi、deg2rad)
ide·vscode·python·numpy
辣椒酱.14 小时前
vscode报错------控制台
vscode·编辑器
让梦想疯狂15 小时前
Visual Studio 自动格式化代码
ide·visual studio
code bean15 小时前
【CMake 】[第九篇] 解决 CMake + Visual Studio 中文乱码问题完整指南
ide·visual studio
AllinGold15 小时前
反重力Antigravity配置
ide
欢喜躲在眉梢里16 小时前
基于 openFuyao 社区的无硬件 UB 开发实战指南
运维·数据库·人工智能·vscode·ai·开发工具·go开发
自己的九又四分之三站台16 小时前
Manium:现代化的数学动画创作引擎(Manim 的可视化编辑器方向项目)
编辑器
粤M温同学16 小时前
VsCode快速打出console.log()方法设置
vscode·编辑器
阿关@17 小时前
Vscode中Python无法将pip/pytest”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
vscode·python·pip
忘带键盘了18 小时前
eclipse配置
java·ide·eclipse