STM32(四)——OLED显示屏

前言

调试方式:

1.串口调试: 把调试信息发送到电脑端,电脑使用串口助手显示调试信息

2.显示屏调试:直接将显示屏连接到单片机,将调试信息打印在显示屏上

3.Keil调试: 借助Keil软件的调试模式,可以查看

接下来学习一个OLED显示屏的驱动函数模块

首先还是要看 STM32(一) 看我们的接线图,我们看到,我们的OLED是IIC4针,这边连的PB6 PB7(pin6 pin7)

同样的,我们把之前的文件复制过来,把主函数main删掉,然后添加Hardware文件,把OLED驱动模块放入

 

 OLED.c 里就是主题代码了,里面包括了引脚配置,引脚初始化I , IIC通信的基本时序,OLED用户调用的代码,我们要更改的就是引脚配置

接下来,引脚初始化也要更改

 这里我们把 SCL 和 SDA 两个引脚都初始化为开漏输出模式,具体更改就是,使用到GPIO外设都先使用RCC开启一下时钟,然后初始化 pin8 pin9

我们就可以直接使用OLED驱动函数模块,这就是OLED.c里面的东西

接下来是OLED.h里面,这里就是外部可调用函数的声明

#ifndef __OLED_H
#define __OLED_H

void OLED_Init(void);
void OLED_Clear(void);
void OLED_ShowChar(uint8_t Line, uint8_t Column, char Char);
void OLED_ShowString(uint8_t Line, uint8_t Column, char *String);
void OLED_ShowNum(uint8_t Line, uint8_t Column, uint32_t Number, uint8_t Length);
void OLED_ShowSignedNum(uint8_t Line, uint8_t Column, int32_t Number, uint8_t Length);
void OLED_ShowHexNum(uint8_t Line, uint8_t Column, uint32_t Number, uint8_t Length);
void OLED_ShowBinNum(uint8_t Line, uint8_t Column, uint32_t Number, uint8_t Length);

#endif

 最后是OLED_Font.h文件,这里存的是OLED的字库数据,因为OLED是不带字库的,想要显示字符图形,就要先定义字符点阵数据

之后的main函数里,主循环前,先调用OLED_Init();初始化OLED

OLED驱动函数
函数 作用
OLED_Init 初始化
OLED_Clear 清屏
OLED_ShowChar 显示一个字符
OLED_ShowString 显示字符串
OLED_ShowNum 显示十进制数字
OLED_ShowSignedNum 显示有符号十进制数字
OLED_ShowHexNum 显示十六进制数字
OLED_ShowBinNum 显示二进制数字

我们一一共有四行十六列,注意字符是 ‘ ’  ,而字符串是  “  ”

还要记得计算一下长度,不要超出去了

GPIO_ShowNum( , , , )前面两个是位置,第三个是数字,最后一个是数字长度,如果长度比数字长度长,那他就会在前面补0;如果小,就会把高位数据切掉;

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>