0.91英寸OLED初始化程序

本文主要介绍了如何针对0.91英寸的128X32分辨率OLED屏幕进行初始化。由于大部分公开的初始化代码适用于128X64分辨率,直接应用会导致显示问题。文章提供了基于128X64代码修改后的128X32分辨率屏幕初始化程序。
摘要由CSDN通过智能技术生成

一、采用的显示屏幕的型号

0.91寸OLED显示屏幕,分辨率为128*32,内部有控制器,采用I2C进行控制。如图为使用芯片特性:

在这里插入图片描述
二、初始化代码
网上大多数的OLED屏幕初始化代码是0.96英寸分辨率为128X64,但是直接使用分辨率为128X64分辨率的屏幕的初始化代码,显示屏幕不能够正常显示。下图为128X32分辨率的初始化代码,结合芯片在128X64分辨率的屏幕代码的基础上修改的。

在这里插入代码片`
/******************************************************************************
  * @file    OLED init 
  * @author  zero Team
  * @version V1.0
  * @date    13-March-2019
  * @brief   初始化OLED显示屏幕  
  ******************************************************************************/
void OLED_Init(void)
{
	delay_ms(500);//初始化之前的延时 important
	//初始化指令 由厂商给定
	OLED_Write_cmd(0xAE);//display off
	OLED_Write_cmd(0xD5);//set memory addressing Mode
	OLED_Write_cmd(0X80);//分频因子
	OLED_Write_cmd(0xA8);//设置驱动路数
	OLED_Write_c
要在STM32微控制器上初始化一个0.91 OLED 128x32的屏幕,我们首先需要检查是否有相应的软件库可用。以下是一个示例初始化函数: ```c #include "stm32fxxx.h" #include "stm32fxxx_gpio.h" void OLED_Init() { GPIO_InitTypeDef GPIO_InitStruct; // 定义GPIO初始化结构体 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOx, ENABLE); // 使能GPIO时钟 // 配置OLED数据线 GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP; // 设为推挽输出模式 GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; // GPIO速度为50MHz GPIO_Init( GPIOx, &GPIO_InitStruct ); // 初始化GPIOx端口 // 配置OLED控制线 GPIO_InitStruct.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12; GPIO_Init( GPIOx, &GPIO_InitStruct ); // 根据OLED屏幕配置发送相应的初始化命令 GPIO_SetBits( GPIOx, GPIO_Pin_XX ); // 根据需要发送相应命令 // 其他初始化步骤根据具体需求进行 // 最后发送完成命令以完成初始化 GPIO_SetBits( GPIOx, GPIO_Pin_XX ); // 根据需要发送相应命令 } ``` 在该示例代码中,我们首先使能所需的GPIO时钟,并定义了一个GPIO初始化结构体(GPIO_InitStruct)。接下来,我们配置了OLED屏幕的数据线(GPIO_InitStruct.GPIO_Pin指定为OLED的数据引脚),并将其设置为推挽输出模式。然后我们配置了OLED的控制线(GPIO_InitStruct.GPIO_Pin指定为OLED的控制引脚)。根据OLED屏幕的具体配置情况,我们可以通过GPIO_SetBits函数发送初始化命令。 请注意,这只是一个示例代码,你需要根据你所使用的具体OLED屏幕型号和STM32微控制器型号进行适当修改。具体的初始化过程可能因屏幕型号和芯片型号的差异而有所不同。参考OLED屏幕和STM32的相关文档,以确保正确初始化屏幕。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值