项目简介
本项目是一个基于STM32F103微控制器的SSD1306 OLED显示屏驱动库。该库支持1.3英寸的SSD1306 OLED显示屏,通过SPI接口与STM32F103C8T6微控制器通信。项目代码设计简洁,易于移植到其他类型的微控制器上。
项目的主要特性和功能
主要特性
- 硬件支持:基于STM32F103C8T6微控制器开发,支持1.3英寸SSD1306 OLED显示屏。
- 通信协议:使用SPI通信协议进行数据传输,支持3线SPI模式。
- DMA支持:使用DMA1通道3进行SPI数据传输,提升数据传输效率。
- 图形和文本显示:提供丰富的图形绘制和文本打印功能,支持自定义字体和图标。
- 易于移植:代码结构清晰,可轻松移植到其他微控制器平台。
功能概述
- GPIO控制:提供GPIO配置和控制的API。
- SPI通信:支持SPI1接口的初始化和数据传输。
- DMA传输:使用DMA进行SPI数据传输,减少CPU负载。
- OLED驱动:支持SSD1306和SH1106控制器的OLED显示屏,提供图形绘制和文本打印API。
安装使用步骤
1. 硬件准备
- STM32F103C8T6微控制器开发板。
- 1.3英寸SSD1306 OLED显示屏模块。
- 连接线:SPI和GPIO接口的连接线。
2. 软件准备
- 下载本项目的源代码。
- 使用STM32CubeIDE或其他STM32开发环境。
3. 配置和使用
- 导入项目:将源代码导入到STM32开发环境中。
- 配置硬件:根据硬件连接,配置SPI和GPIO接口。
- 初始化OLED:在
main.c
中初始化SPI和OLED显示屏:c int main(void) { SPI_Init(); SSD_init(); while(1); }
- 使用图形和文本API:调用
ssd1306_gfx.h
和ssd1306_print.h
中的API进行图形绘制和文本打印。例如:c SSD_GFX_loadSmallBitmap(ant_8x8, 8, 8, 0, 0); SSD_GFX_loadSmallBitmap(sig_strenght_lvl4_8x8, 8, 8, 8, 0);
- 更新显示:使用DMA或手动更新OLED显示缓冲区:
c SSD_updateBuffer(SSD_GFX_returnBufferPointer());
4. 编译和下载
- 编译项目并下载到STM32F103C8T6开发板。
- 运行程序,观察OLED显示屏的输出。
注意事项
- 本项目不包含HAL库函数,需根据具体需求进行适配。
- 如果不需要使用DMA,可以替换SPI和GPIO的API为自定义实现。
- 在
ssd1306.h
中选择使用的OLED驱动(SSD1306或SH1106)。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】