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文件里面调用

实现效果

相关推荐
fie88891 天前
基于51单片机的航模遥控器6通道接收机程序
单片机·嵌入式硬件·51单片机
bu_shuo1 天前
嵌入式硬件工程师VS单板硬件工程师
嵌入式硬件·电子工程师·单板硬件
llilian_161 天前
选择北斗导航卫星信号模拟器注意事项总结 北斗导航卫星模拟器 北斗导航信号模拟器
功能测试·单片机·嵌入式硬件·测试工具·51单片机·硬件工程
Yyq130208696821 天前
MH2457,‌国产 32 位屏驱 MCU‌芯片,支持‌1080P 高清显示‌与‌以太网通信‌,广泛应用于两轮车仪表盘及工控屏等领域
单片机·嵌入式硬件
爱分享的阿Q1 天前
STM32现代化AI开发环境搭建:从Keil到VSCode+AI的范式转移
人工智能·vscode·stm32
爱吃程序猿的喵1 天前
南邮计科电工电子实验B《RLC串联谐振电路》实验报告
单片机·嵌入式硬件
独小乐1 天前
009.中断实践之实现按键测试|千篇笔记实现嵌入式全栈/裸机篇
linux·c语言·驱动开发·笔记·嵌入式硬件·arm
XINVRY-FPGA1 天前
XC7VX690T-2FFG1157I Xilinx AMD Virtex-7 FPGA
arm开发·人工智能·嵌入式硬件·深度学习·fpga开发·硬件工程·fpga
bubiyoushang8881 天前
利用STM32实现Modbus通信(RTU从机方案)
stm32·单片机·嵌入式硬件
cmpxr_1 天前
【单片机】常用设计模式
单片机·嵌入式硬件·设计模式