STM32学习笔记之OLED屏

发布时间:2023年12月22日

系列文章目录

第N章 STM32学习笔记之OLED屏幕


目录

系列文章目录

前言:

一、OLED屏

1.使用初衷

2.简介

3.硬件电路

4.矩阵对应

?5.驱动函数模块

二、驱动程序添加步骤

1.新建工程

2.驱动程序移植

三、驱动程序使用步骤

1.引脚配置

2.引脚初始化?

3.小试牛刀

?总结


前言:

笔记:跟着B站教学视频做的学习笔记


一、OLED屏

1.使用初衷

方便于程序调试,将调试信息直接打印在显示屏上

2.简介

OLED即有机发光二极管,每个像素都可以自发光,区别于LCD屏不同的是LCD屏需要被背光才能看清

供电:3~5.5V,通信协议:I2C/SPI,分辨率:128*64

3.硬件电路

四针脚版本OLED电路:GND接GND、VCC接3.3V供电,SCL和SDA接单片机的I2C通信引脚上

七针脚版本OLED电路:GND接GND、VCC接3.3V供电,剩下的接单片机SPI的通信引脚上

4.矩阵对应

0.96寸OLED屏显示矩阵为4行16列,可将其划分为如下:

?5.驱动函数模块

二、驱动程序添加步骤

1.新建工程

新建一个标准库工程,详细见以前章节

2.驱动程序移植

在工程文件中新建一个文件夹用来存放OLED驱动程序

将OLED屏驱动程序复制粘贴到刚刚新建的文件夹中

打开工程,添加刚刚新建的文件夹:选择“Add Group”

将添加的组改名为跟文件夹一致后,右键选择”Add Exiting Files to Group",把复制的OLED驱动程序添加到工程中来

点击魔法棒添加文件路径

三、驱动程序使用步骤

1.引脚配置

在OLED.c文件中,根据配置需求来进行引脚配置,如SCL接PB8、SDA接PB9,就如下配置

/*引脚配置*/
#define OLED_W_SCL(x)?? ??? ?GPIO_WriteBit(GPIOB, GPIO_Pin_8, (BitAction)(x))
#define OLED_W_SDA(x)?? ??? ?GPIO_WriteBit(GPIOB, GPIO_Pin_9, (BitAction)(x))

2.引脚初始化?

如果引脚配置发生改变,相应的初始化函数里的引脚也应跟着修改

void OLED_I2C_Init(void)
{
? ? RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
?? ?
?? ?GPIO_InitTypeDef GPIO_InitStructure;
??? ?GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;
?? ?GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
?? ?GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
??? ?GPIO_Init(GPIOB, &GPIO_InitStructure);
?? ?GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
??? ?GPIO_Init(GPIOB, &GPIO_InitStructure);
?? ?
?? ?OLED_W_SCL(1);
?? ?OLED_W_SDA(1);
}

3.小试牛刀

在main.c包含OLED.h文件后,就可以根据驱动函数模块来操作OLED屏了


?总结

本文只是简单记录OLED屏的驱动函数移植步骤,关于OLED屏的通信、中文显示、图片显示等,后续有时间再更新

文章来源:https://blog.csdn.net/qq_52746299/article/details/132781244
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。