江协科技STM32学习笔记(第03章 OLED)

第03章 OLED

3.1 OLED调试工具

3.1.1 调试方式

(1)串口调试:通过串口通信,将调试信息发送到电脑端,电脑使用串口助手显示调试信息.。

相当于把电脑的屏幕挂载到单片机上,方便单片机显示调试信息。

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

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

3.1.2 OLED简介

OLED(Organic Light Emitting Diode):有机发光二极管

OLED显示屏:性能优异的新型显示屏,具有功耗低、相应速度快、宽视角、轻薄柔韧等特点

0.96寸OLED模块:小巧玲珑、占用接口少、简单易用,是电子设计中非常常见的显示屏模块

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

3.1.3 OLED硬件电路

SCL和SDA是I2C的通信引脚,需要接在单片机I2C通信引脚上,本教程提供的函数模块是用GPIO口模拟的I2C通信,所以这两个端口可以接在任意的GPIO口上。

除VCC和GND外,剩下的引脚是SPI通信的引脚, 如果是GPIO口模拟的通信协议,那也是接在任意的GPIO口上就行了。

3.1.4 本教程OLED驱动函数

函数

作用

OLED_Init();

初始化

OLED_Clear();

清屏

OLED_ShowChar(1, 1, 'A');

显示一个字符

OLED_ShowString(1, 3, "HelloWorld!");

显示字符串

OLED_ShowNum(2, 1, 12345, 5);

显示十进制数字

OLED_ShowSignedNum(2, 7, -66, 2);

显示有符号十进制数字

OLED_ShowHexNum(3, 1, 0xAA55, 4);

显示十六进制数字

OLED_ShowBinNum(4, 1, 0xAA55, 16);

显示二进制数字

3.2 OLED显示屏驱动模块使用 

3.2.1 硬件电路

VCC和GND需要接电源的正极和 负极,所以在屏幕背面接了两根线为OLED提供电源,当然也接上了STM32的PB6和PB7引脚,不过没关系,不初始化这两个引脚就可以了。STM32的引脚上电后,如果不初始化,默认是浮空输入的模式,在这个模式下,引脚不会输出电平,所以不会有什么影响。当然也可以不接这两根条线,直接用程序给PB6输出低电平,PB7输出高电平,用GPIO口直接给OLED供电也没问题,因为这个OLED功率很小,所以也是可以驱动的,不过用GPIO口供电不是很规范,做实际项目最好还是用电源供电。

3.2.2 软件部分

复制《按键控制LED》工程文件夹,改名为《OLED显示屏》。

(1)将OLED显示屏驱动函数添加到工程中。

(2)main.c

#include "stm32f10x.h"                  // Device header
#include "Delay.h"                      // 调用延时头文件
#include "OLED.h"


uint8_t KeyNum;

int main(void)
{
	OLED_Init();                                 // 初始化OLED屏幕
	OLED_ShowChar(1,1,'A');                      // 在1行1列显示字符A
	OLED_ShowString(1,3,"HelloWOrld!");          // 在1行3列显示字符串
	OLED_ShowNum(2,1,12345,5);                   // 在2行1列显示12345这个数字,长度为5,如果最后一个参数比数字长度长,会在前面补0,比数字长度小,会把高位数字切掉
	OLED_ShowSignedNum(2,7,12345,5);             // 显示有符号十进制数字
//	OLED_ShowSignedNum(2,7,-66,2);               // 显示有符号十进制数字
	OLED_ShowHexNum(3,1,0xAA55,4);               // 显示16进制数 
	OLED_ShowBinNum(4,1,0xAA55,16);              // 显示二进制数,C语言不支持直接写二进制数
	Delay_s(2);
	OLED_Clear();                                // 清屏
	while(1)
	{	
                     
	}
}

 3.3 Keil的调试模式

以《LED闪烁》为例。

默认使用右边这一项,在硬件上在线仿真, 需要把STLINK和STM32都连接好。如果不想连接硬件,也可以选择左边的使用仿真器这个选项,这样就是电脑模拟STM32的运行了。使用在硬件上在线仿真测试。

首先编译一下确保代码没有问题。

如果想看结构体值得变化: 

查看外设寄存器

如果要修改程序,是不能直接在调试模式下修改的,需要先退出调试模式,重新编译,再进入调试模式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值