当前位置: 首页 > news >正文

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

❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括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.lryc.cn/news/92436.html

相关文章:

  • 自用的一些网址,码住!
  • 银行vr元宇宙全景虚拟展馆提供更加真实、立体、高效的数字资产交易场景
  • C++ 泛型编程 类型萃取器的运用
  • C++ String类(上篇)
  • nested exception is java.lang.NoClassDefFoundError
  • 科普:python怎么使用Pyinstaller模块打包成可执行文件
  • 企业级应用高性能可扩展架构设计
  • 【安全架构】
  • RabbitMq-高级
  • iOS App的打包和上架流程
  • Net6中遇到的一个很奇葩的问题
  • 2940. 花坛的最小改变次数
  • 安装源代码 QT 4.8.7
  • PINN学习与实验之拟合sin(x)
  • Java中进制转换的两种方法你知道吗?
  • Qemu搭建ARM Vexpress开发环境
  • JMM如何实现volatile写/读的内存语义
  • Smali的使用技巧:快速定位Android应用程序中的关键代码
  • 04_两种常见的网页反爬措施及应对方法
  • 安装docker环境,并制作docker镜像
  • MySQL数据库 – node使用
  • JAVA使用HTTP代码示例模板
  • elementui tree 支持虚拟滚动和treeLine (下)
  • 富人父母都教给孩子什么样的财富思维?
  • 国内比较火的报表工具测评——Smartbi电子表格软件和Finereport
  • 变电所运维云平台在电力系统中的应用
  • 【51单片机】AT24C20数据帧(I2C总线)
  • Python内置函数isinstance()函数介绍
  • QxRibbon 知:搭建 CMake 构建环境
  • Spring框架-面试题核心概念