【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();
相关推荐
yangtuoni15 小时前
vscode调试C++程序
c++·ide·vscode
专注VB编程开发20年1 天前
VSCode 插件开发:一键开启完整智能提示 终极配置
ide·vscode·编辑器
superantwmhsxx1 天前
[golang][MAC]Go环境搭建+VsCode配置
vscode·macos·golang
马猴烧酒.1 天前
【Java复习|Lambda表达式】Java Lambda 表达式、函数式接口与匿名内部类:从起源到原理
java·开发语言·ide·笔记·python·spring
ShineWinsu1 天前
对于Linux:基础开发工具(vim、gcc/g++)的介绍
linux·运维·服务器·c++·面试·编辑器·vim
CaracalTiger1 天前
Windows 环境下 OpenClaw 的安装与千问Qwen、Kimi、MiniMax、GLM国产大模型配置完全指南
运维·ide·windows·开源·github·aigc·ai编程
ywf12151 天前
Node.js使用教程
node.js·编辑器·vim
wdfk_prog1 天前
在 VSCode 中使用 MSYS2 MinGW64 终端的最终方案总结
ide·vscode·编辑器
游戏开发爱好者81 天前
入门 iOS 开发 新手工具开发首个应用
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程