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/

相关推荐
盐水冰5 小时前
【烘焙坊项目】后端搭建(12) - 订单状态定时处理,来单提醒和顾客催单
java·后端·学习
Hello小赵5 小时前
视频压缩编码学习(一)—— 基础知识大集合
学习
左左右右左右摇晃6 小时前
计算机网络笔记整理
笔记·计算机网络
不吃西红柿的856 小时前
[职场] 内容运营求职简历范文 #笔记#职场发展
笔记·职场和发展·内容运营
逐步前行6 小时前
STM32_TIM_寄存器操作
stm32·单片机·嵌入式硬件
似水明俊德6 小时前
02-C#.Net-反射-学习笔记
开发语言·笔记·学习·c#·.net
0南城逆流07 小时前
【STM32】知识点介绍七:PWM功能
stm32·单片机·嵌入式硬件
智者知已应修善业7 小时前
【51单片机独立按键控制数码管移动反向,2片74CH573/74CH273段和位,按键按下保持原状态】2023-3-25
经验分享·笔记·单片机·嵌入式硬件·算法·51单片机
dashizhi20157 小时前
服务器共享禁止保存到本地磁盘、共享文件禁止另存为本地磁盘、移动硬盘等
运维·网络·stm32·安全·电脑
adore.9687 小时前
3.18 复试学习
学习