使用ssd1306驱动,来驱动0.96寸中景园oled屏幕

news2024/9/27 9:21:11

硬件

nucleo-f411RE, 中景园oled屏幕(0.96寸,七线)

驱动文件地址

stm32-ssd1306
在这里插入图片描述

驱动文件说明

使用的库: H A L HAL HAL
支持的通信协议: S P I / I I C SPI/IIC SPI/IIC
文件结构:
在这里插入图片描述其中,驱动文件在 s s d 1306 ssd1306 ssd1306文件中

使用步骤

  1. 使用stm32cubemx进行初始化配置,打开对应的接口( S P I / I I C SPI/IIC SPI/IIC),这里以 S P I SPI SPI为例:
    在这里插入图片描述使用的是 S P I 1 SPI1 SPI1,其配置如下:
    在这里插入图片描述
    其中关于 N S S NSS NSS使用软件配置,配置完之后,相当于配置完成了 D 0 , D 1 D0,D1 D0,D1引脚,分别对应于时钟线和 M O S I MOSI MOSI
引脚名称作用
GND电源地
VCC电源正(3-5.5v)
D0SPI/IIC中的时钟管脚
D1SPI/IIC中的数据管脚
RES复位引脚(低电平有效)
DC命令/数据控制管脚
CS模块选中管脚(相当于SPI中的NSS)

处理电源,地和 S P I SPI SPI通信的时候使用的 D 0 , D 1 D0,D1 D0,D1,还剩下三个引脚需要配置。
此次选择的引脚如下所示:

引脚名称stm32管脚
D0PB3
D1PA7
RESPC6
DCPB8
CSPB9

其中的具体配置如下:
在这里插入图片描述注意其中的命名:

引脚名称User Label
DCOLED_DC
CSOLED_CS
RESOLED_Res

如果在这里保持这种命名规范的话,在驱动的后续使用中,就不需要进行修改源驱动文件,即和源驱动代码文件中的命名保持一致
在这里插入图片描述
再进行时钟配置,其中此开发板中的外部晶振为 8 M h z 8Mhz 8Mhz,所以配置如下:
在这里插入图片描述
最后在 C o d e G e n e r a t o r Code Generator CodeGenerator中选择此项,生成代码
在这里插入图片描述
2. 将驱动文件拷贝到Drivers文件夹下(不一定非要在此文件夹下,只要和后续的路径选择一直就行)
在这里插入图片描述
3. 将 s s d 1306 _ c o n f _ t e m p l a t e . h ssd1306\_conf\_template.h ssd1306_conf_template.h重命名为 s s d 1306 _ c o n f . h ssd1306\_conf.h ssd1306_conf.h
4. 将工程打开,将 s s d 1306 ssd1306 ssd1306加入到头文件搜索路径中
在这里插入图片描述

  1. 将对应驱动的源文件,添加入工程
    在这里插入图片描述
  2. 修改 s s d 1306 _ c o n f . h ssd1306\_conf.h ssd1306_conf.h配置文件
需要配置信息配置内容
单片机型号STM32F4(取消对应的注释即可)
驱动协议SSD1306_USE_SPI(取消对应的注释即可)
SPI端口配置将对应的宏进行定义

具体的配置如下:
在这里插入图片描述

  1. 配置完成,可以在工程中使用对应的接口函数
    在这里插入图片描述

实物效果图:
在这里插入图片描述
在这里插入图片描述
工程模板下载地址

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

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

相关文章

LeetCode题解 二叉树(四):我要打十个?层序遍历变式九道

前言: 本篇涉及的题目都与10 二叉树的层序遍历有关,共九道题 107.二叉树的层次遍历II medium199.二叉树的右视图 medium637.二叉树的层平均值 easy429.N叉树的前序遍历 medium515.在每个树行中找最大值 medium116.填充每个节点的下一个右侧节点指针 me…

机器学习——详解判别模型求解分类问题

目录 逻辑回归 判别模型(discriminative model) 设计模型Function set设计函数选择最好的w和b更新参数w和b 逻辑回归与线性回归对比 逻辑回归为什么用交叉熵来找最优的参数而不用MAE或MSE GM与DM区别 多维分类——以三类别为例 GM 生成模型DM 判别模型 输入特征处理→深度学习…

财务人员学Python有用吗?

财务人员学Python有用吗?作为财务人员每天面对大量的数据,财务人员用Python做小工具,录单审凭证不到1分钟就搞定了。把更多的时间花在财务分析上,更好更快地完成工作。 Python作为一门编程语言,属于IT技术自动化技术、…

Python:遗传算法最优路径

Hello,大家好!读研前写过一篇遗传算法的代码,比较简单,算是个入门,当时就有想用它来解决最优路径的问题,上算法导论课时碰巧有听到同学有分享过,但由于自己研究的方向不是这块,就没有…

【LeetCode每日一题】——968.监控二叉树

文章目录一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【解题思路】七【题目提示】八【时间频度】九【代码实现】十【提交结果】一【题目类别】 树 二【题目难度】 困难 三【题目编号】 968.监控二叉树 四【题目描述】 给定一个二叉树&…

入门:从虚拟机到容器

从虚拟机到容器 前面我们成功安装了Docker学习环境,以及浅尝了一下Docker为我们带来的应用快速部署。在正式进入学习之前,我们就先从Docker的发展开始说起。 在Docker出现之前,虚拟化技术可以说是占据了主导地位。首先我们来谈谈为什么会出现…

Adobe Pro DC 2022 软件详细安装教程

一、软件下载 网盘链接:Adobe Pro DC 2022 提取码:ib19 二、详细安装教程 1、解压安装包,右键安装程序Set-up,点击以管理员身份运行 2、更改软件安装位置,建议安装至除C盘外的其他盘(如不需更改直接点击【继续】即可…

自学编程的朋友,我想给你们这 5 个建议

0基础学编程,我想给你这 5 个建议 很多人都想转行互联网,不管是出于兴趣、行业前景还是薪资的考虑,想要转行互联网的人们必须要面对一个问题,那就是如何自学编程,更确切的说,是如何0基础学编程。 其实我基…

小师弟:2022广东省工科赛分享(越障排爆省一,完整项目)

目录日常唠嗑前言一、实验效果二、赛题分析及方案1、赛题内容:初赛:决赛:2、实施方案:三、材料选择四、程序设计程序思路PID:越障部分:颜色识别部分:五、竞赛心得六、工程获取日常唠嗑 小师弟说…

J-002 Jetson电路设计之电源设计--NANO XAVIER NX

Jetson电源设计1 电源说明1.1 电源和系统引脚描述1.2 电源控制框图详情2 上电的时许2.1 框图分析2.2 上电时序3 GND引脚1 电源说明 Jetson NANO和XAVIER NX核心板的电源为DC-5V。 1.1 电源和系统引脚描述 PIN名称描述方向类型251-260VDD_IN主电源输入5.0V235PMIC_BBATRTC时钟…

深入剖析Linux RCU原理(二)-渐入佳境

说明: Kernel版本:4.14ARM64处理器,Contex-A53,双核使用工具:Source Insight 3.5, Visio 1. 概述 我会假设你已经看过了深入剖析Linux RCU原理(一)初窥门径 本文将进一步去探索下…

设计模式4 - 行为型模式

23种设计模式分析与见解开篇、UML、软件设计原则https://blog.csdn.net/lili40342/article/details/128358435创建型模式https://blog.csdn.net/lili40342/article/details/128358392结构型模式https://blog.csdn.net/lili40342/article/details/128358313行为型模式https://bl…

【GRU时序预测】基于matlab卷积神经网络结合门控循环单元CNN-GRU时间序列预测【含Matlab源码 2287期】

⛄一、CNN-GRU数据预测 1 理论基础 1.1 CNN算法 负荷序列数据为一维数据,用一维卷积核对数据进行卷积处理,以获取数据的特征。 现设定卷积核的维度为3,移动步长为1,对输入数据进行卷积,以获得特征图图谱,即…

转行AI产品经理的学习过程

学习内容及思考 引言 当别人问你为什么转行AI产品经理? 你回答因为自己喜欢。 这是一句多么空洞的话呀,苍白又无力,那你为什么喜欢呢?你了解他么?仅凭自己这一腔热情,一句轻描淡写的我喜欢,是…

行为树 --- [7] BehaviorTree.CPP 4.x版本的编译及使用

根据BehaviorTree.CPP的官方介绍,3.x版本已经不再维护了,建议使用4.x版本, 4.x版本和3.x版本的区别可以看这里 — https://www.behaviortree.dev/migration 本文介绍4.x版本的编译及使用,环境是Debian 10.5,编译器是…

笔试强训(四十七)

目录一、选择题二、编程题2.1 合唱团2.1.1 题目2.1.2 题解2.2 马戏团2.2.1 题目2.2.2 题解一、选择题 (1)对于IP地址130.63.160.2,MASK为255.255.255.0,子网号为(B) A.160.2 B.160 C.63.160 D.130.63.160 …

学Python好找工作吗?需要满足Python岗位哪些要求?

学Python好找工作吗?需要满足哪些要求?随着Python的火爆,国内Python的岗位也随之增多,只要技术能力强项目经验充足,找到工作不是问题。即使是一些二线城市,Python的薪资待遇也比较好。 一、学Python好找工作…

学习编程的中小学生越来越多,是盲目追风,还是确有其用?!

首先,中小学生为什么要学习编程?未来社会,随姜信息技术和人工智能的发展,越来越多行业的工作离不开编程。美国前总统奥巴马就呼吁:“如果我们想让美国保持地位,就需要年轻代的美国人掌握这种(编程)工具和技术,它将改变我们所有的…

最简单的canvas基础+实践,确定不进来看看嘛

前言 怎么突然提到 canvas 呢❓其实是因为工作中有一个小需求,就是给特定的区域做水印😤,思来想去😎就选择使用 canvas 去做,简单效果如下: 实现思路🤷‍♂️:封装一个全局指令&am…

新装的Ubuntu无法连接有线(无有线标志)

解决方法 1、lspci命令(查看网卡型号) labhlab:~$ lspci 00:00.0 Host bridge: Intel Corporation Device 4660 (rev 02) 00:01.0 PCI bridge: Intel Corporation Device 460d (rev 02) 00:06.0 PCI bridge: Intel Corporation Device 464d (rev 02) 0…