【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();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/123962.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

省钱兄共享娱乐室无人系统软硬件结合是怎样开发的

随着科技的快速发展&#xff0c;共享经济模式逐渐渗透到各个领域。在娱乐室领域&#xff0c;省钱兄共享娱乐室无人系统软硬件结合的开发应运而生&#xff0c;旨在提供高效、安全、经济的娱乐室使用体验。本文将从需求分析、系统设计、软件开发和系统测试四个方面&#xff0c;详…

CentOS7安装playwright终极指南

CentOS7安装playwright终极指南 系统环境为CentOS Linux release 7.9.2009 (Core) 最小安装&#xff0c;考虑到playwright的安装需要 python3.7 &#xff0c;本次直接选择安装python3.8。 升级libstdc cd /opt yum -y install wgetwget http://www.vuln.cn/wp-content/uploa…

day14_集合

今日内容 零、 复习昨日 一、集合框架体系 二、Collection 三、泛型 四、迭代 五、List(ArrayList、LinkedList) 零、 复习 throw和throws什么区别 throwthrows位置方法里面方法签名上怎么写throw 异常对象throws异常类名(多个)作用真正抛出异常对象声明抛出的异常类型 运行时…

极智开发 | CUDA Memory内存模型

欢迎关注我的公众号 [极智视界],获取我的更多经验分享 大家好,我是极智视界,本文分享一下 CUDA Memory内存模型。 邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码和资源下载,链接:https://t.zsxq.com/0aiNxERDq 熟悉和了解 CUDA Memory 内存模型对于…

成本预算管理系统

成本预算管理系统 功能介绍&#xff1a; 一 基本信息&#xff1a; 1、产品设置&#xff1a;产品的长、宽、高及面积计算公式的设置。 2、板材设置&#xff1a;板材类别、厚度、尺寸的设置 3、系统名称&#xff1a;风管系统的类别设置 4、公司信息&#xff1a;本公司的信息…

【多线程】线程互斥 {竞态条件,互斥锁的基本用法,pthread_mutex系列函数,互斥锁的原理;死锁;可重入函数和线程安全}

一、进程线程间通信的相关概念 临界资源&#xff1a;多线程执行流共享的资源就叫做临界资源。确切的说&#xff0c;临界资源在同一时刻只能被一个执行流访问。临界区&#xff1a;每个线程内部&#xff0c;访问临界资源的代码&#xff0c;就叫做临界区。互斥&#xff1a;通过互…

vue实现图片分页

本小节学会使用v-show和click 、v-bind&#xff0c;v-bind可以简写为: <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"…

基于鸟群算法的无人机航迹规划-附代码

基于鸟群算法的无人机航迹规划 文章目录 基于鸟群算法的无人机航迹规划1.鸟群搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用鸟群算法来优化无人机航迹规划。 1.鸟群搜索算法 …

OSCAR数据库上锁问题如何排查

关键字 oscar lock 问题描述 oscar 数据库上锁问题如何排查 解决问题思路 准备数据 create table lock_test(name varchar(10),age varchar(10));insert into lock_test values(ff,10); insert into lock_test values(yy,20); insert into lock_test values(ll,30);sessio…

0基础学习PyFlink——用户自定义函数之UDF

大纲 标量函数入参并非表中一行&#xff08;Row&#xff09;入参是表中一行&#xff08;Row&#xff09;alias PyFlink中关于用户定义方法有&#xff1a; UDF&#xff1a;用户自定义函数。UDTF&#xff1a;用户自定义表值函数。UDAF&#xff1a;用户自定义聚合函数。UDTAF&…

vue2+ant-design-vue a-select组件二次封装(支持单选/多选添加全选/分页(多选跨页选中)/自定义label)

一、效果图 二、参数配置 1、代码示例 <t-antd-selectv-model"selectVlaue":optionSource"stepList"change"selectChange" />2、配置参数&#xff08;Attributes&#xff09;继承 a-select Attributes 参数说明类型默认值v-model绑定值…

安装PS及AI遇到的问题

Mac安装PS/AI/PR/AE提示错误代码146 Failed with error code 146解决办法: 访达, -> 前往 ->前往文件夹 -> /Applications/Utilities/Adobe Sync 将Adobe Sync 文件夹里的CoreSync文件夹直接删掉

C++ 标准库随机数:std::default_random_engine

库头文件 #include <random> // 通过种子值设置随机数生成器 std::default_random_engine rng(seed);// 不设置种子值&#xff0c;使用默认值 std::default_random_engine rng; // 生成一个0到9之间的随机整数 int random_int rng() % 10;// 生成一个0到1之间的随机浮…

vivado crash

将增量编译去了

[Shell] ${} 的多种用法

文章目录 解释代码 解释 在Shell脚本中&#xff0c;${} 是一种变量替换语法。它用于获取和操作变量的值。 具体来说&#xff0c;${} 可以用来执行以下操作&#xff1a; 变量引用&#xff1a;${variable} 表示引用变量 variable 的值。 变量默认值&#xff1a;${variable:-de…

FPGA时序分析与约束(9)——主时钟约束

一、时序约束 时序引擎能够正确分析4种时序路径的前提是&#xff0c;用户已经进行了正确的时序约束。时序约束本质上就是告知时序引擎一些进行时序分析所必要的信息&#xff0c;这些信息只能由用户主动告知&#xff0c;时序引擎对有些信息可以自动推断&#xff0c;但是推断得到…

Sprint Cloud Stream整合RocketMq和websocket实现消息发布订阅

1.引入RocketMQ依赖&#xff1a;首先&#xff0c;在pom.xml文件中添加RocketMQ的依赖&#xff1a; <dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter</artifactId><version>2.2.0</versi…

文件改名,轻松添加前缀顺序编号,文件改名更高效!

您是否曾经需要批量修改文件名&#xff0c;并希望在文件名中添加特定的前缀或顺序编号&#xff1f;现在&#xff0c;我们为您带来了一款全新的文件改名工具&#xff0c;帮助您轻松解决这个问题&#xff01; 第一步&#xff0c;进入文件批量改名高手主页面&#xff0c;在板块栏…

C++学习笔记之四(标准库、标准模板库、vector类)

C 1、C标准库2、C标准模板库2.1、vector2.1.1、vector与array2.1.2、vector与函数对象2.1.3、vector与迭代器2.1.4、vector与算法 1、C标准库 C C C标准库指的是标准程序库( S t a n d a r d Standard Standard L i b a r a y Libaray Libaray)&#xff0c;它定义了十个大类…

js读取文件 vue读取文件 JavaScript 读取文件解析为字符串 js读取文件 Vue读取文件

js读取文件 vue读取文件 JavaScript 读取文件解析为字符串 js读取文件 Vue读取文件 js读取文件 vue读取文件 JavaScript 读取文件解析为字符串 js读取文件 Vue读取文件使用 FileReader js读取文件 vue读取文件 JavaScript 读取文件解析为字符串 js读取文件 Vue读取文件 使用 F…