驱动OLED SSD1306的笔记

这里用的OLED模块是SSD1306的

硬件

  • SSD1306只支持3.3V供电
  • SSD1306支持4中接口:6800、 8080,SPI,IIC
  • 通过引脚BS1和BS2接口的模式。
  • 如果是IIC模式,SCL对应D0,SDA对应D1,D2(需要把D1和D2连在一起然后接入MCU的SDA)
    在这里插入图片描述在这里插入图片描述
  • OLED_RST 是复位线, RST 上的低电平复位
  • 15脚DC脚设置IIC设备的地址。如下图所示,SA0为对应DC引脚。
  • 如果DC脚接GND,最终可得到, SSD1306 器件地址为“ 0111100”即 0x3C。读操作地址就为 0x79,即 0111 1001;写操作地址就为 0x78,即 0111 1000。在这里插入图片描述- D/C#:这个引脚是用于告诉SSD1306现在发送的data是命令还是数据。但是在IIC传输模式时,这个引脚用于控制IIC设备的地址。

软件部分

  • 1个像素点,只需要一个2进制位表示。
  • 1个page,可以表示128*8个像素点
  • SSD1306里面的GRAM如下所示。
  • 读写入GRAM的方式两种:页模式和行模式

在这里插入图片描述

  • 屏幕像素点与GRAM的映射关系,如下图。PAGE2这一页对应的是屏幕的COM16 ~ COM23行,也就是第17~24行。
  • 数据的高低位如LSB,MSB所示。如果对PAGE2写入数据0x85.则填充后的数据如下。所以取模方式是逐列式,
    在这里插入图片描述在这里插入图片描述

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

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

相关文章

Go的安装

一. 下载地址 Go官方下载地址:https://golang.org/dl/ Go中文网:https://go.p2hp.com/go.dev/dl/ 根据不同系统下载不同的包。 二. 配置GOPATH GOPATH是一个环境变量,用来表明你写的go项目的存放路径。 GOPATH路径最好只设置一个&#xff0…

黑马点评-附近商户实现

GEO数据结构 Redis在3.2版本中加入了对GEO的支持,允许存储地理坐标信息,根据经纬度来检索数据。 GEO本质上是基于sortedSet实现的,在Sorted Set中,每个成员都是与一个分数(score)相关联的,这个分数用于对成员进行排序…

LeetCode 2482.行和列中一和零的差值

给你一个下标从 0 开始的 m x n 二进制矩阵 grid 。 我们按照如下过程,定义一个下标从 0 开始的 m x n 差值矩阵 diff : 令第 i 行一的数目为 onesRowi 。 令第 j 列一的数目为 onesColj 。 令第 i 行零的数目为 zerosRowi 。 令第 j 列零的数目为 zer…

数睿通2.0数据接入升级——支持增量字段同步,表单独映射

引言 上次数睿通 2.0 更新是在 23 年12 月 底,已经过去了接近三个月的时间,中间由于过年加上年前年后实在是工作繁忙,所以一直没有腾出空来更新代码,希望大家可以理解,平台的发展离不开你们的支持,在此表示…

【Linux】第四十站:线程概念

文章目录 一、线程二、Linux中线程应该如何理解三、重新定义线程四、四谈进程地址空间(页表相关)五、Linux线程周边的概念1. 线程与进程切换2.线程优点3.线程缺点4.线程异常5.线程用途 一、线程 线程:是进程内的一个执行分支。线程的执行粒度…

RFID-科技的“隐秘耳语者”

RFID-科技的“隐秘耳语者” 想象一下,你身处一个光线昏暗的环境中,周围的一切都被厚厚的阴影笼罩。这时,你需要识别并获取一个物体的信息,你会选择怎么做?是点亮灯光,用肉眼仔细观察,还是打开扫…

复杂业务场景下,如何优雅的使用设计模式来优化代码?

1、引言 本文以一个实际案例来介绍在解决业务需求的路上,如何通过常用的设计模式来逐级优化我们的代码,以把我们所了解的到设计模式真实的应用于实战。 2、背景 假定我们现在有一个订单流程管理系统,这个系统对于用户发起的一笔订单&#…

Linux--搭建Zabbix监控系统

11.1 案例分析 要想实时地了解服务器的运行状况并且能在出现问题时及时解决,利用监控软件是一个很好的 途径。 Zabbix(免费的)是一个基于Web界面的企业级开源监控套件,提供分布式系统监控与网络监视功能。具备主机的性能监控。网络…

对simplex算法的时间复杂度进行分析

对于simplex算法,如果每进行一次pivot变换,目标函数所得到的结果都会有可能出现增加的情况,所以得到的结论中,可以肯定它的值是一定不会出现减少的情况的,每次从目标函数中找到一个系数大于0的变量,然后再在约束条件中选取能够让它的增值最少的那个来继续进行pivot变换。…

egg如何写单元测试

优秀的代码需要有单元测试进行质量保证,每个测试用例都给应用的稳定性提供了一层保障。 测试目录结构 我们约定 test 目录为存放所有测试脚本的目录,测试所使用到的 fixtures 和相关辅助脚本都应该放在此目录下。 测试文件的目录和我们需要测试的文件目…

考研数学|张宇30讲,搭配什么基础题?

如果基础跟的是张宇,那么基础做的题目要根据自己的题目来决定 题集的选择最好不要太难,而且基础也不用做太多题目,以数学知识点的运用,培养做题感觉为主。 张宇老师的课程在基础阶段也有配套的课程,就是《张宇基础30…

力扣hot100:438.找到字符串中所有字母异位词(滑动窗口)

26个字符,我复制怎么了?26个字符我比较个数怎么了? 顶多时间复杂度*26 本题用固定窗口大小的滑动窗口每次比较包含26个元素的数组次数,最容易写。 动态窗口大小哈希表存数值(双指针差值)难想难写。 一、动态…