# hal_oled **Repository Path**: xia-wang-666/hal_oled ## Basic Information - **Project Name**: hal_oled - **Description**: STM32使用OLED显示屏,移植的HAL库的相关驱动,可以显示字符和数字。使用I2C通信,内置IO口模拟I2C配置,使用普通GPIO输出模式,就可以使用。 - **Primary Language**: C/C++ - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 1 - **Created**: 2022-09-08 - **Last Updated**: 2025-05-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # hal_oled #### 介绍 - STM32使用HAL库下,移植的OLED的相关驱动,可以显示字符和数字,一些特殊字符。 - 用STM32F103,i2c协议驱动OLED测试,可以使用成功。 - 使用的是4个引脚的OLED屏幕。 - 引脚配置:普通输出模式, **I2C通信** 已经内部写好了。 - **一般其他芯片** 修改配参数也能用。 #### 安装教程 STM32cubeIDE编辑器使用的方法,使用其他编译器也是类似 - 文件存放位置: 1. oled.h和oledfont.h 文件放在Core/Inc文件里面 2. oled.c 放在Core/Src文件夹里 #### 使用说明 1. 使用ST图形化界面初始化(CUBEMX)创建工程,配置好时钟线和数据线,生成代码,使用的自己引脚,本文使用PB13与PB14引脚,普通输出模式即可。想使用其他引脚修改这个两个的值 2. 修改相关参数,根据使用的芯片不同,修改oled.c和oled.h的#include "stm32f1xx_hal.h" 改成自己的芯片的型号 3. 在main.c 的主函数里使用,添加头文件:#include "oled.h",初始化OLED,使用即可 - 使用实例: ```c #include "oled.h" /* Initialize all configured peripherals */ MX_GPIO_Init(); /* USER CODE BEGIN 2 */ // 在这里面初始化oled OLED_Init(); //初始化OLED OLED_Clear(0); /* USER CODE END 2 */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ // 在屏幕上显示,这里需要强制转换类型,可以避免一些警告 OLED_ShowString(6,3,(uint8_t *)"0.96' OLED TEST",16); OLED_ShowString(0,6,(uint8_t *)"ASCII:",16); OLED_ShowString(63,6,(uint8_t *)"CODE:",16); } /* USER CODE END 3 */ ``` - 测试使用成功!!! #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request