首页 > 其他分享 >较好的SPI 接口的 OLED入门文章

较好的SPI 接口的 OLED入门文章

时间:2024-09-12 09:16:27浏览次数:1  
标签:入门 SPI 接线 引脚 低电平 spi OLED

参考文章:

1.基于STM32+0.96寸OLED - - 7脚SPI接线显示+代码解析

链接:https://blog.csdn.net/qq_59527512/article/details/139471311

推荐理由:很好地讲解了OLED的基础认知:7脚OLED模块的引脚和 5种接线方式(DS0/1/2)

   我们的OLED屏幕选择的是SSD1306Z的芯片,是一个128*64大小的屏幕,屏幕的大小区分如图所示,X轴的范围是0-127,单位是列,Y轴的范围是0-63,单位是行,但是Y轴实际是按页区来分类的,实际上我们使用的范围是0-7,如图所示:

接线方式选择有五种:

I2C、6800、8080、4线SPI、3线SPI,通过BS0、BS1、BS2引脚接不同的电平来选择控制方式

如果选择4线SPI接线方式(实际上是7针,但是有三个可以不用),我们这三个引脚就要全部接地

 

 

 

2. OLED-SPI协议: 作者:J2124

链接:https://www.bilibili.com/read/cv27964885/ 出处:bilibili

推荐理由:很好地讲述了OLED4线SPI和3线SPI的区别,以及软件中的取模方式

 

SSD1306支持多种模式的协议,OLED模块已经在内部接好了,市面上常见的4脚是I2C协议,6引脚是4线SPI模块(片选引脚接地了),7引脚也是4线SPI协议。

4线spi如下图

3线spi如下图,3线spi采用三根线进行数据传输:scl,sda和cs,传输数据的时候,那如何知道传输的命令还是数据呢?

4线spi采用dc引脚控制传输的是命令(0)还是数据(1);3线spi通过sda引脚控制,在发送数据之前,先在sda上发送一个控制位,然后后发送数据。


从上图中可以看出,触发数据发送(向oled写入数据)的是上升沿,我们需要在低电平的时候准备数据,然后高电平发送出去。从图中SDIN(D1)可以看出,先要将DC引脚拉高(高电平)或者拉低(低电平),从数据手册中可以知道高电平是表示写入数据,低电平是表示写入命令。从符号也可以看出来D表示数据(DATA),C表示命令(Command),C#:有#表示低电平有效。

取模方式:

标签:入门,SPI,接线,引脚,低电平,spi,OLED
From: https://www.cnblogs.com/FBsharl/p/18409506

相关文章

  • Redis 入门 -- 系列文章
    随笔分类 -  Redis入门 Redis入门-C#|.NETCore客户端库六种选择Redis入门-五大基础类型及其指令学习Redis入门-图形化管理工具如何选择,最全分类Redis入门-安装最全讲解(Windows、Linux、Docker)Redis入门-简介 出处:https://www.cnbl......
  • 五、STM32标准库硬件SPI驱动OLED(基于SSD1106)
    1、驱动芯片及MCU介绍        SSD1106是一款常用于嵌入式设备中的小型屏幕OLED(有机发光二极管)显示器驱动芯片,被广泛应用于各种嵌入式设备中,本示例程序基于SSD1106驱动芯片的OLED显示屏。        本次示例采用STM32F103系列MCU,使用标准库硬件SPI驱动OLED......
  • Java 入门指南:Java 并发编程 —— 同步工具类 CyclicBarrier(循环屏障)
    文章目录同步工具类CyclicBarrier构造函数常用方法工作机制使用步骤适用场景CyclicBarrier与CountDownLatch的区别示例代码同步工具类JUC(Java.util.concurrent)是Java提供的用于并发编程的工具类库,其中包含了一些通信工具类,用于在多个线程之间进行协调和通信,特别......
  • JAVA入门程序
    javajava发展史JavaSE(JavaPlatform,StandardEdition标准版):允许您在桌面和服务器上开发和部署Java应用程序JavaEE(JavaPlatform,EnterpriseEdition企业版):是为开发企业环境下的应用程序提供的一套解决方案,主要针对于Web应用程序开发(页面+服务器)JavaME(JavaPlat......
  • 【网络安全】基础知识详解(非常详细)零基础入门到精通
    一、什么是网络安全?百度上对“网络安全”是这么介绍的:“网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露、系统连续可靠正常地运行,网络服务不中断。”嗯…是不是感觉有点抽象。那么我们再换一种表述:网络安......
  • C++入门教程:第八篇 - 文件I/O操作
    C++入门教程:第八篇-文件I/O操作文件I/O(输入/输出)是程序与外部存储设备进行数据交换的关键操作。在C++中,文件I/O操作由标准库提供的流类完成。通过这些流类,程序可以读写文件,处理文件内容。本文将介绍C++中的文件I/O基础,包括如何打开、读写和关闭文件。1.文件流基础C++提......
  • Python中的单例模式:从入门到精通
    引言单例模式是一种常用的软件设计模式,它保证了一个类只有一个实例,并提供一个全局访问点。这种模式通常用于那些需要频繁创建和销毁的对象,比如日志对象、线程池、缓存等场景,可以有效减少资源消耗,提高系统性能。在Python中实现单例模式不仅简单直观,而且能够很好地融入到各种框架和......
  • 为AppInventor2开发自己的拓展(Extension) - 拓展开发入门篇
    //为什么需要开发拓展?//AppInventor2是积木式在线安卓开发环境,利用拖拽式的方式实现代码块堆叠,从而完成相应的逻辑。上手很容易,但是由于代码块提供的功能有限,使用比较单一,在开发上有很大的局限性,但是它提供了拓展Extension特性,开放了源码,使得开发者可以根据自己的需要,自......
  • Kotlin入门实用开发技巧与注意事项
    本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点Kotlin,这门由JetBrains开发的现代编程语言,自2017年被Google宣布为Android官方开发语言以来,便迅速在开发者社区中流行起来。它以其简洁的语法、空安全的特性......
  • PHP8面向对象快速入门六 trait
    PHP中的trait是一种代码复用机制,允许你在多个类中共享方法而无需使用继承。与类和接口不同,trait不能实例化,也不能定义构造函数或属性。trait中不能有常量。可以在一个类中使用多个trait,并在trait中定义公共的方法,这样可以避免代码重复.。trait中可使用抽象方法trait中可......