9599|1

50

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

疯壳AI开源无人机SPI(OLED) [复制链接]

  • OLED简介

OLED(OrganicElectroluminesence Display)有机发光显示器,与传统的显示器不同的是,传统的显示器需要背光,才能显示;而OLED则不需要,其自身就能够发光。

而OLED之所以能够自发光,主要是通过电场驱动:有机半导体材料和发光材料通过过载流子注入和复合后实现发光。从本质上来说,就是通过ITO玻璃透明电极作为器件阳极,金属电极作为阴极,通过电源驱动,将电子从阴极传输到电子传输层,空穴从阳极注入到空穴传输层,之后分迁移到发光层,二者相遇后产生激子,让发光分子激发,经过辐射后产生光源。简单来说,一块OLED屏幕,就是由百千万个“小灯泡”组成。

OLED不仅更轻薄、功耗低、亮度高、发光率好、可以显示纯黑色,并且还可以做到弯曲,如当今的曲屏电视和手机等。当今国际各大厂商都争相恐后的加强了对OLED技术的研发投入,使得OLED技术在当今电视、电脑(显示器)、手机、平板等领域灵应用愈加广泛。如下图所示为OLED显示屏模块实物图。

  • SPI驱动OLED实验

在本节中应用的到的SPI与飞控开发基础篇《SPI(六轴传感器数据获取)》一节不同,本节用的到的是通过GPIO模拟的SPI,而飞控开发基础篇《SPI(六轴传感器数据获取)》中应用的是STM32硬件SPI。而SPI协议相关知识可以参考飞控开发基础篇《SPI(六轴传感器数据获取)》。

根据原理图可知OLED屏的电气连接关系,如下图所示。

可知OLED的复位脚RES接在STM32的PB6、OLED的命令/数据选择脚DC接在STM32的PB7、OLED的时钟线接在STM32的PA5、OLED的数据输入接在STM32的PA7。这里的OLED模块没有CS片选脚,是因为模块内部已经默认接地了。OLED显示的整体代码编写思路如下。

代码思路

1

管脚配置

1、定义结构体;

2、使能时钟;

3、填充结构体;

4、装载结构体;

2

OLED时序的实现

1、写入数据/命令函数实现。

3

OLED的配置及功能性函数实现

  1. OLED初始化;
  2. OLED功能性函数实现(如刷屏、描点、清屏等)。

4

逻辑处理

1、显示逻辑。

根据OLED的驱动芯片SSD1306的手册可以得知控制时序,如下图所示。

根据时序就可以编写对应时序的代码了。如下图所示为OLED写时序的代码。

根据SSD1306手册可得知OLED的初始化流程,如下图所示。

OLED初始化代码实现如下图所示。

OLED的所有显示都是基于描点得来的,由点成线,再由线成面。OLED的描点函数代码实现如下图所示。

OLED显示单个字符的代码如下图所示。

显示字符需要对相应的字符取模,这里已经提供了两种取好模的字体,按照“阴码、逐列式、顺向”的取模方式,分别是12*6、16*8大小的字体,在oledfont.h里,如下图所示。

取模需要通过取模软件,这里使用的是“PCtoLCD2002”,该软件有两大功能,一种是字符取模,另一种是图片取模。这里我们用到的是字符取模,根据代码驱动的描点方向,生成的12*6字模的字模选项设置如下图所示。

这里以生成12*6的字符“1”做举例,按照上图设置好字模选项设置后,输入“1”,点击“生成字模”,即可生成对应的16进制字模代码,如下图所示。

本次是实验需要通过OLED显示“COCOFLY”以及“www.fengke.club”,具体实现代码如下。

保存编译下载,实现现象如下图。

3.遥控器开发基础-【4】SPI(OLED).pdf

1.07 MB, 下载次数: 2

此帖出自创意市集论坛

最新回复

疯壳AI开源无人机      感谢楼主的整个xi整个系列系统性分享   谢谢   详情 回复 发表于 2021-9-12 13:13
点赞 关注
 
 

回复
举报

46

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

疯壳AI开源无人机      感谢楼主的整个xi整个系列系统性分享   谢谢

此帖出自创意市集论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表