【stm32】OLED
·
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);
}
更多推荐
所有评论(0)