硬件
- 之前讲过了,就不讲了
软件需求
- STM32CubeMX生成一个基本的I2C,用的是I2C1
软件配置
上一篇文章记录的很清楚了,这里就不多讲了
- I2C配置

- 时钟配置

程序
- 字符库
- 显存
//引用I2C1
extern I2C_HandleTypeDef hi2c1;
//命令操作数
#define OLED_CMD_HAL (0x00)
#define OLED_DATA_HAL (0x01)
//定义OLED地址
#define OLED_I2C_ADDRESS (0x78)
//最大像素值
#define MAX_COLUMN 128
#define MAX_ROW 64
#define X_WIDTH MAX_COLUMN
#define Y_WIDTH MAX_ROW
//最大宽、高
#define CHAR_SIZE_WIDTH 6
#define CHAR_SIZE_HIGHT 12
//定义显示方式
typedef enum{
PEN_CLEAR = 0x00,//将所有像素熄灭
PEN_WRITE = 0x01,//将所有像素点亮
PEN_INVERSION = 0x02//将所有像素状态反转
} pen_typedef;
//定义显示数据
char OLED_GRAM_HAL[128][8] = {
0};
- oled写入操作
void oled_write_byte(uint8_t dat, uint8_t cmd)
{
static uint8_t cmd_data[2];
if(cmd == OLED_CMD_HAL)
{
cmd_data[0] = 0x00;
}
else
{
cmd_data[0] = 0x40;
}
cmd_data[1] = dat;

该文介绍了如何使用STM32CubeMX配置I2C接口,通过I2C驱动OLED显示屏进行字符显示。主要涉及OLED的初始化、坐标设置、像素操作及字符显示函数,代码示例中展示了如何显示ASCII字符。
最低0.47元/天 解锁文章
1055

被折叠的 条评论
为什么被折叠?



