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 单片机常用调试方式

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

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

在这里插入图片描述

  • 串口调试方式是非常常见的,就是用串口将单片机连接到电脑,相当于把电脑的屏幕挂在单片机上,方便单片机显示调试信息;一般我们涉及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的显示函数了,具体显示的内容在右侧作用中有写;

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

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘凉~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值