OLED

调试方式

串口调试:通过串口通信,将调试信息发送到电脑端,电脑使用串口助手显示调试信息
优势:可以借助强大的电脑来调试,电脑端的软件,不仅可以显示单独的参数而且可以显示曲线,图形,图像等,还可以自己做软件来实现强大的用户交互页面
弊端:通常的串口助手只能以信息流的方式呈现数据,只能一行一行打印,如果有很多不断变化的数据需要显示,只能在电脑上刷屏显示,不方便

显示屏调试:直接将显示屏连接到单片机,将调试信息打印在显示屏上
优势:对于不断变化的数据,可以覆盖刷新显示且显示屏可以始终接在单片机上
弊端:屏幕太小,显示内容有限,没有电脑软件强大的功能

Keil调试模式:借助Keil软件的调试模式,可使用单步运行、设置断点、查看寄存器及变量等功能

OLED简介

有机发光二极管
OLED显示屏:性能优异的新型显示屏,具有功耗低、相应速度快、宽视角、轻薄柔韧等特点
0.96寸OLED模块:小巧玲珑、占用接口少、简单易用,是电子设计中非常常见的显示屏模块
供电:3~5.5V,通信协议:I2C/SPI,分辨率:128*64
在这里插入图片描述

硬件电路

在这里插入图片描述

左:
SCL和SDA是I2C的通信引脚,接在单片机I2C的通信引脚上
右:
除VCC和GND,剩下引脚为SPI通信协议的引脚

OLED驱动函数

在这里插入图片描述
在这里插入图片描述

OLED代码介绍

将关于OLED的三个文件添加到Hardware中

在这里插入图片描述
OLED.C 函数的主体代码
OLED.h 外部可调用函数说明
OLED_Font.h OLED的字库数据,因为该OLED显示屏不带字库,想要显示字符图形,得先定义字符的点阵数据
需要更改的代码:
1.引脚配置

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

这里选择的是硬件电路上把SCL和SDA这两个引脚接在了哪两个端口上

2.OLED_I2C_Init函数

/*引脚初始化*/
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);
}
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐