STM32学习笔记--I2C封装与OLED(2026.2.1)

发送字节

python 复制代码
uint8_t commends = {0x00, 0x8d,0x14,0xaf,0xa5};
My_I2C_SendBytes = {I@C1,0x78,commands,5};

接收字节:

软I2C初始化代码:

OLED

屏幕初始化:

画笔和画刷:

cpp 复制代码
//
// @画笔和画刷
//

// @设置画笔
void OLED_SetPen(OLED_TypeDef *OLED, uint8_t Pen_Color, uint8_t Width);
// @设置画刷
void OLED_SetBrush(OLED_TypeDef *OLED, uint8_t Brush_Color);

坐标系:

屏幕左上角(0,0),向右为x轴,向下为y轴

光标:

cpp 复制代码
//
// @光标
//

// @设置光标位置
void OLED_SetCursor(OLED_TypeDef *OLED, int16_t X, int16_t Y);
// @设置光标的X坐标
void OLED_SetCursorX(OLED_TypeDef *OLED, int16_t X);
// @设置光标的Y坐标
void OLED_SetCursorY(OLED_TypeDef *OLED, int16_t Y);
// @移动光标
void OLED_MoveCursor(OLED_TypeDef *OLED, int16_t dX, int16_t dY);
// @沿X轴方向移动光标
void OLED_MoveCursorX(OLED_TypeDef *OLED, int16_t dX);
// @沿Y轴方向移动光标
void OLED_MoveCursorY(OLED_TypeDef *OLED, int16_t dY);
// @获取光标当前位置
void OLED_GetCursor(OLED_TypeDef *OLED, int16_t *pXOut, int16_t *pYOut);
// @获取光标X坐标
int16_t OLED_GetCursorX(OLED_TypeDef *OLED);
// @获取光标Y坐标
int16_t OLED_GetCursorY(OLED_TypeDef *OLED);

文字相关操作:

cpp 复制代码
OLED_SetPen (&oled, PEN_COLOR_WHITE, 1); // 设置白画笔
OLED_SetBrush(&oled, PEN_COLOR_TRANSPARENT);//透明画刷
OLED_SetCursor(&oled, 24,50);// 设置光标
OLED_DrawString (&oled, "Hello world");

OLED_SendBuffer(&oled);
设置字体:
格式化打印当前日期:
设置文本区域:

实现文字自动换行效果

cpp 复制代码
OLED_StartTextRegion (&oled, 0, 0, 128, 64);
OLED_DrawString (&oled, "There was a man named John. \r\n") ;
OLED_DrawString (&oled, "He was 70 years old. \r\n");
OLED_DrawString (&oled, "He really liked his name of John. \r\n");
OLED_DrawString (&oled, "But didn't like the age of 70. \r\n");

绘图相关操作:

画点:
画线:
绘制矩形和圆:
绘制位图:

位图转换地址:https://javl.github.io/image2cpp/

相关推荐
大爱编程♡27 分钟前
GPIO-I2C
stm32·单片机·嵌入式硬件
摇滚侠37 分钟前
《SpringBoot 3:入门与应用实战》第 2 章 IOC 思想与实现 阅读笔记 1
spring boot·笔记·后端
振南的单片机世界2 小时前
PVD掉电中断——让单片机“咽气前”写完遗书
arm开发·stm32·单片机·嵌入式硬件
LuminousCPP2 小时前
数据结构-双向循环链表
c语言·数据结构·笔记·链表
小弥儿2 小时前
GitHub今日热榜 | 2026-08-11:图原生基础设施首日登顶
学习·开源·github
302wanger4 小时前
【阅读笔记】当AI拿走一切之后
笔记
续写烂尾5 小时前
SD NAND存储实测:正点原子STM32精英板SDIO读写验证全流程
stm32·单片机·嵌入式硬件
疯狂打码的少年5 小时前
【数据结构】串(字符串):基本概念与存储
数据结构·笔记
for_ever_love__5 小时前
python基础语法学习: 数据容器
windows·python·学习
云空6 小时前
《电子专业完整学习路线图(分两套:本科四年版 / 零基础自学速成版)》
科技·学习·学习方法·高考