STM32单片机(四)第一节:OLED调试工具

news/2025/1/11 2:04:28/

❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。
☀️ 专栏适用人群 :适用于想要从零基础开始学习入门单片机,且有一定C语言基础的的童鞋。
🌙专栏目标:实现从零基础入门51单片机和STM32单片机,力求在玩好单片机的同时,能够了解一些计算机的基本概念,了解电路及其元器件的基本理论等。

⭐️ 专栏主要内容: 主要学习STM32单片机的功能、各个模块、单片机的外设、驱动等,最终玩好单片机和单片机的外设,全程手敲代码,实现我们所要实现的功能。
🌴 专栏说明 :如果文章知识点有错误的地方,欢迎大家随时在文章下面评论,我会第一时间改正。让我们一起学习,一起进步。
💑专栏主页:http://t.csdn.cn/HCD8v

本学习过程参考:https://space.bilibili.com/383400717

STM3单片机安装软件、各种资料以及源码的路径:
链接:https://pan.baidu.com/s/1snD0uuTfMhchFqOMWvAiHA?pwd=asdf#list/path=%2F
提取码:asdf

链接里压缩包的解压密码:32

本大节主要学习OLED调试工具,包含两部分,第一小节主要学习OLED的基础知识,第二小节是写一个简单的程序进行练习,即OLED显示屏,最终提供一个OLED显示屏的驱动函数模块,可以在OLED上显示我们需要的调试信息;
本小节主要是对OLED的基础知识进行学习。

文章目录

  • 1 单片机常用调试方式
  • 2 OLED简介
  • 3 硬件电路
  • 4 OLED驱动函数

1 单片机常用调试方式

对于我们的单片机变成而言,经常会遇到的一个很大的问题就是程序调试,因为单片机不像电脑,电脑有一个很大的屏幕,想看什么变量、参数,都可以直接打印大屏幕上;单片机不一样很多时候由于成本和电路结构的限制,它并不会有一个像电脑屏幕那样强大的显示屏,这就对我们的调试造成了困难;

目前常用的程序调试方式有以下几种:

在这里插入图片描述

  • 串口调试方式是非常常见的,就是用串口将单片机连接到电脑,相当于把电脑的屏幕挂在单片机上,方便单片机显示调试信息;一般我们涉及PCB电路板的时候都会使用串口调试;串口调试的弊端当然就是调试的时候需要拖着电脑;
  • 显示屏调试的方式比较直接,也非常方便;其优势是对于不断变化的数据,可以覆盖刷新显示;而且显示屏可以始终接在单片机上,显示方式很直接;还有一般我们做一些稍微复杂的东西,都需要有一个人机交互的界面,这样就可以把显示屏当做产品的一部分,还是非常好用的;显示屏的弊端就是屏幕太小,显示内容有限;

这三种方式各有利弊,可以根据不同的场景选择不同的调试方法;本节我们主要使用OLED的方式进行调试;

2 OLED简介

在这里插入图片描述

  • OLED是(Organic Light Emitting Diode)的缩写,意思是有机发光二极管;
  • OLED显示屏就是使用OLED做出来的显示屏;
  • 宽视角是指OLED屏幕上是自发光的,所以无论从哪个角度看,显示内容都是清晰的;

上图中的最底下列出了四种OLED的外观和种类;

  • 其中第一种是我们此次学习使用的,总共有4个针脚,像素是白色的;使用I2C的通信协议
  • 第二种是7针脚版本的,需要占用的IO口多一些;使用SPI的通信协议;
  • 第三种支持蓝色的像素;
  • 第四种,支持黄蓝双色的版本,其中上面四分之一固定是黄色,下面四分之三固定是蓝色;这种屏幕适合用作需要显示标题行的界面;

以上四种不同的显示屏,其驱动方式都是一样的;

3 硬件电路

OLED的硬件电路如下图所示:
在这里插入图片描述

  • 左边是4针脚版本的OLED电路;GND接GND;VCC接3.3V,给OLED供电;然后剩下的SCL和SDA是I2C的通信引脚;需要接在单片机的I2C通信引脚上;(备注,本课程实现的驱动函数模块用的是GPIO口模拟的I2C通信,所以这两个端口就可以接在任意的GPIO口上)
  • 右边是7针脚版本的OLED电路;也是一样,GND接GND;VCC接3.3V,给OLED供电;剩下的引脚是SPI通信协议的引脚;(如果是GPIO口模拟的通信协议,那也是支持接在任意的GPIO口的)

4 OLED驱动函数

在这里插入图片描述

最后先来预先看一下本节实现的驱动函数模块都包含哪些接口;

如上图所示, 从表里可以看到提供的所有驱动函数;

右上角是OLED实物图和屏幕坐标图;

屏幕坐标图包含4行16列的小区块,从左上开始,向下依次是第1行、第2行、第3行、第4行;向右依次是第1列、第2列、第3列、一直到第16列;

  • OLED_Init()函数是OLED的初始化函数,在使用OLED之前需要先调用一下这个函数,对OLED进行初始化,然后就可以正常使用了;
  • OLED_Clear()函数是清屏函数,调用这个函数,屏幕就会清空;
  • 下面的函数就是OLED的显示函数了,具体显示的内容在右侧作用中有写;

下一节将演示如何对这些驱动函数进行使用。


http://www.ppmy.cn/news/297398.html

相关文章

分享一款芝加哥城市风光高清壁纸

分享一款芝加哥城市风光高清壁纸给大家,现代化的风格带给您满满的时尚感,为你的桌面添加一抹异国风情,缓解您的疲劳,需要的行动起来下载吧~

城市建筑日照分析

1 解题流程 1.1 计算容积率 计算各单元地块的面积,然后计算每一个建筑的总面积,然后求出每一个地块内建筑的总面积,进而求出每个地块的容积率。流程图如图1-1所示。 图1-1 地块容积率求解流程 1.2 找出不符合日照标准的建筑 先计算太阳…

七大壁纸网站满足所有分辨率需求!

以下网站可直接访问。 1.wallheaven wallhaven前身是wallbase,创始人由于身体原因离开,几个伙伴就用wallhaven继续网站的工作,本身网站的分类比较简单General,Anime,People(一般,动漫&#xff0…

基于云技术的域名解析系统研究一:传统解析技术弊端(中科三方)

域名解析是互联网的一项重要基础作用,主要用于将域名翻译成计算机可识别的IP地址,完成对网络中其他主机的寻址任务。我们日常工作生活中的大部分网络应用,如网站访问、电子邮件以及其他各种web应用服务,都需要经过域名解析的寻址去…

ArcMap制作城市道路网壁纸(OSM道路数据下载)

1 数据源 数据来源OSM网站,本文示例数据已上传CSDN,包括北京市道路网、长沙市道路网。中国其它城市道路数据,可依1.1节获取 1.1 通过Overpass的API下载OSM网站的行政区划道路网数据 在overpass API query form里输入: 将下代码…

低代码开发与数智制造:数字转型的无缝结合

随着工业4.0的到来,数智制造已经成为制造业发展的趋势,而低代码开发技术则是近几年兴起的一种轻量级开发方式,这两者之间的结合将为制造业的数字化转型打下坚实的基础。 低代码开发平台有什么特点? 首先让我们来厘清一下&#xff…

链表及相关面试题

链表 单链表 特点: 逻辑上顺序存储,物理上无序存储头指针根据情况而定,不保存数据,很多操作需要头指针,比如原地反转链表。每个节点包含 data, Node next保存下个Node public class LinkList {public Node headern…

【新星计划回顾】第五篇学习计划-数据库开启定时任务知识点

🏆🏆时间过的真快,这是导师回顾新星计划学习的第五篇文章!本篇文章主要是承接上一篇学习计划,通过开启定时任务进行模拟生成数据,实际开发项目中,可能会用到其他方式! 最近这段时间非…