STM32 CubeIDE 控制OLED显示屏

IIC配置:在STM32CubeMX中配置IIC外设为 Fast Mode (400kHz)。

配置IIC引脚

配置RCC(复位与时钟控制)保存并生成HAL库初始化代码。

配置OLED需要的相关代码函数

OLED_Init(); //初始化OLED

OLED_DisPlay_On(); //开启OLED显示

OLED_DisPlay_Off(); //关闭OLED显示

OLED_NewFrame(); //清空显存

OLED_ShowFrame(); //将当前显存显示到屏幕上

OLED_SetPixel(uint8_t x, uint8_t y, OLED_ColorMode color); //设置一个像素点

OLED_DrawLine(uint8_t x1, uint8_t y1, uint8_t x2, uint8_t y2, OLED_ColorMode color);

// 绘制一条线段

OLED_DrawRectangle(uint8_t x, uint8_t y, uint8_t w, uint8_t h, OLED_ColorMode color);

//绘制一个矩形

OLED_DrawFilledRectangle(uint8_t x, uint8_t y, uint8_t w, uint8_t h, OLED_ColorMode color);

//绘制一个填充矩形

OLED_DrawTriangle(uint8_t x1, uint8_t y1, uint8_t x2, uint8_t y2, uint8_t x3, uint8_t y3, OLED_ColorMode color);//绘制一个三角形

OLED_DrawFilledTriangle(uint8_t x1, uint8_t y1, uint8_t x2, uint8_t y2, uint8_t x3, uint8_t y3, OLED_ColorMode color);//绘制一个填充三角形

OLED_DrawCircle(uint8_t x, uint8_t y, uint8_t r, OLED_ColorMode color); //绘制一个圆

OLED_DrawFilledCircle(uint8_t x, uint8_t y, uint8_t r, OLED_ColorMode color); // 绘制一个填充圆

OLED_DrawEllipse(uint8_t x, uint8_t y, uint8_t a, uint8_t b, OLED_ColorMode color);

//绘制一个椭圆

OLED_DrawImage(uint8_t x, uint8_t y, const Image *img, OLED_ColorMode color);

//绘制一张图片

OLED_PrintASCIIChar(uint8_t x, uint8_t y, char ch, const ASCIIFont *font, OLED_ColorMode color); //绘制一个ASCII字符

OLED_PrintASCIIString(uint8_t x, uint8_t y, char *str, const ASCIIFont *font, OLED_ColorMode color); //绘制一个ASCII字符串

OLED_PrintString(uint8_t x, uint8_t y, char *str, const Font *font, OLED_ColorMode color);

//绘制字符串

通过取模助手将需要的图片或文字生成代码保存到font.c font.h

最后在main文件里面调用

实现效果

相关推荐
mk01512 小时前
单片机同步降压稳压器输出最低1V,关断时损耗3uA
单片机·嵌入式硬件·硬件工程·智能硬件·pcb工艺
然后,是第八天13 小时前
platformio使用使用pioarduino流程
单片机
糖糖单片机设计13 小时前
基于 STM32 + LU-ASR01 的智能台灯
stm32·单片机·嵌入式硬件·51单片机·语音识别
en.en..13 小时前
Keil 文件管理避坑(基于 STM32F4 HAL 通用模板讲解)
单片机·嵌入式硬件
女神下凡16 小时前
芯参谋(87):Linux 系统(SPI NOR)驱动开发指南
linux·运维·arm开发·驱动开发·嵌入式硬件·设计规范
起个网名真难~1 天前
STM32F103_Bootloader_从零到UART升级成功_博客原稿
stm32·单片机·嵌入式硬件
二本咕咕-机械转码1 天前
FreeRTOS深入解析(一)_链表与并发保护——哨兵循环链表、排序键游标、临界区与关调度
单片机·算法·链表
Zwawa1 天前
串口命令如何从字符串长成协议:帧头、长度、校验和与状态机
c语言·单片机·嵌入式
小李不想当小白1 天前
BKP备份寄存器与RTC实时时钟(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
Zw-awa1 天前
串口命令如何从字符串长成协议:帧头、长度、校验和与状态机
stm32