1 调试方式
-
串口调试:通过串口通信,将调试信息发送到电脑端,电脑使用串口助手显示调试信息
-
显示屏调试:直接将显示屏连接到单片机,将调试信息打印在显示屏上
-
Keil调试模式:借助Keil软件的调试模式,可使用单步运行、设置断点、查看寄存器及变量等功能
2 OLED简介
OLED(Organic Light Emitting Diode):有机发光二极管
OLED显示屏:性能优异的新型显示屏,具有功耗低、相应速度快、宽视角、轻薄柔韧等特点
0.96寸OLED模块:小巧玲珑、占用接口少、简单易用,是电子设计中非常常见的显示屏模块
供电:3~5.5V,通信协议:I2C/SPI,分辨率:128*64
一般4引脚使用I2C通信;7引脚使用SPI通信。
2.1 硬件电路
SCL和SDA是I2C通信的引脚(这里使用GPIO口模拟I2C通信)
剩下的引脚是SPI通信的引脚。
2.2 驱动函数
|---------------------------------------|------------|
| 函数 | 作用 |
| 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); | 显示二进制数字 |
实物对照
4行16列
3 OLED显示屏
3.1 接线图
图中右下角,PB6接GND, PB7接VCC,不影响,不初始化这两个口即可(默认浮空输入)
也可以用GPIO口给OLED供电(PB6输出低电平,PB7输出高电平)
3.2 OLED驱动
这里需要和实物对应起来。
其他的先不需要了解。
3.3 OLED显示屏
cpp
#include "stm32f10x.h" // Device header
#include "Delay.h"
#include "OLED.h"
int main()
{
OLED_Init(); // 初始化OLED
OLED_ShowChar(1, 1, 'A'); // 显示字符'A'
OLED_ShowString(1, 3, "HelloWorld!"); // 显示字符串
OLED_ShowNum(2, 1, 12345, 5); // 显示十进制12345,长的话,补0;短的话切掉高位
OLED_ShowSignedNum(2, 7, -66, 2); // 显示有符号
OLED_ShowHexNum(3, 1, 0xAA55, 4); // 显示16进制
OLED_ShowBinNum(4, 1, 0xAA55, 16); // 显示二进制
// OLED_Clear(); // 清屏
while (1)
{
}
}
4 Keil的调试模式
换一个LED闪烁的工程
使用硬件在线模仿真。
点击进入调试模式