系列文章目录
第N章 STM32学习笔记之OLED屏幕
目录
前言:
笔记:跟着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屏的通信、中文显示、图片显示等,后续有时间再更新