项目简介
本项目展示了如何运用STM32F3微控制器,借助I2C接口驱动SSD1306 OLED显示屏。它基于STM32 HAL库和SSD1306库,提供了OLED显示屏初始化、文本显示、图形显示等功能。适用于STM32F3 Discovery开发板,也可用于其他支持I2C接口的STM32F3系列开发板。
项目的主要特性和功能
- OLED显示驱动:利用I2C接口驱动SSD1306 OLED显示屏,支持128x32分辨率显示。
- STM32 HAL库支持:采用STM32 HAL库,简化硬件初始化与I2C通信配置。
- I2C通信:支持通过I2C1或I2C2接口与OLED显示屏通信,默认使用PB6(SCL)和PB7(SDA)引脚。
- 图形与文本显示:可在OLED显示屏上实现文本和图形的基本显示功能。
- CMake构建系统:使用CMake进行构建,支持Ninja构建工具,便于跨平台开发。
安装使用步骤
1. 硬件连接
- 将OLED显示屏的SCL引脚连接到STM32F3的PB6(I2C1)或PA9(I2C2)引脚。
- 将OLED显示屏的SDA引脚连接到STM32F3的PB7(I2C1)或PA10(I2C2)引脚。
- 连接OLED显示屏的VCC和GND引脚到STM32F3的3.3V电源和地。
2. 配置CMake
sh
cmake \
--no-warn-unused-cli \
-DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE \
-DCMAKE_BUILD_TYPE:STRING=Debug \
-DCMAKE_TOOLCHAIN_FILE:FILEPATH=gcc-arm-none-eabi.cmake \
-Bbuild \
-G Ninja
3. 编译项目
sh
cmake --build build -j 8
4. 烧录程序
sh
STM32_Programmer_CLI --connect port=swd --download build/stm32f3-ssd1306-display.elf -hardRst
5. 运行程序
烧录完成后,OLED显示屏将显示初始化内容,以此验证项目是否正常运行。
注意事项
- 确保STM32 HAL库中的I2C模块已启用,并在
stm32f3xx_hal_conf.h
中包含相关头文件。 - 如果使用CubeMX生成项目代码,请检查I2C配置是否正确。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】