【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();
相关推荐
新手村领路人3 小时前
关于jupyter Notebook
ide·python·jupyter
生莫甲鲁浪戴3 小时前
Android Studio新手开发第三十五天
android·ide·android studio
为什么要做囚徒3 小时前
IntelliJ IDEA 远程断点调试完全指南
java·ide·intellij-idea
2501_938790074 小时前
从 0 到 1:解决 VsCode 远程连服务器后 Github Copilot 无法使用问题
服务器·vscode·github
君以思为故6 小时前
认识linux -- 编辑器vim以及编译器gcc/g++和Makefile文件
linux·编辑器·vim
数据饕餮6 小时前
faster-whisper热词详解与程序设计
ide·macos·xcode
歪歪1007 小时前
在C#中除了按属性排序,集合可视化器还有哪些辅助筛选的方法?
开发语言·前端·ide·c#·visual studio
尤超宇9 小时前
U-net 系列算法知识解读
编辑器
许泽宇的技术分享9 小时前
把 CLI 搬上 Web:在内网打造“可二开”的 AI IDE,为什么这条路更现实?
前端·ide·人工智能
2501_938791229 小时前
VsCode 远程模式 + 服务器:Github Copilot 安装后无法触发?原因解析
服务器·vscode·github