历史上的今天
返回首页

历史上的今天

今天是:2024年10月08日(星期二)

正在发生

2018年10月08日 | STM32F103RCT6的SPI驱动OLED

2018-10-08 来源:eefocus

硬件条件:采用中景园电子0.96寸的OLED,7线分别如下:

VCC-------->电源

GND------->地

D0--------->SCK,连接SPI1的SCK,PA5

D1--------->MOSI,MCU作为主机输出,OLED作为从机接收,接PA7

RST-------->复位接口,很重要,PC0

DC--------->命令或者数据控制线,连接PC1

CS---------->PC2片选

以上是OLED和STM32103的接线,也可以采用其他的SPI接口,这里只要D0和D1保证和SPI接口对应上就可以了,其他的线都是自定义的,作为普通IO口输出就可以了。

正确配置以下接口就可以点亮OLED了:

1、SPI接口初始化:

SPI也是串口的一种,和USART配置差不多,初始化IO口复用以及IO和SPI时钟,如果需要中断,那么需要配置中断优先级、写中断函数等。

发送和接收和USART一样,都是先将数据发送/接收到一个DR缓冲中,然后等待发送/接收,利用判断SR寄存器的标志位来判断是否发送/接收。

2、OLED的读写和初始化操作。

OLED的初始化操作网上有很多,购买时,肯定都会把初始化的那些命令过程全部给出来,照着写出来就好。不过有一点,在初始化时,需要将RST先拉低,然后持续50ms,再拉高。

然后就是写命令和写数据操作了。写数据和写命令通过DC来定,高电平写数据,低电平写命令。注意这里 还需要拉低CS片选。然后通过SPI将数据写到DR缓冲中。这里还有一点,OLED只能作为从机,只能向OLED中写,不能读。

3、还有两点很重要,OLED的CPOL的极性,我用的中景园的是0,即空闲状态高电平,以及时钟相位,要在第一个跳变沿取样。

然后就是清屏操作,其实就是将各个像素点点亮。全部写0XFF就好了,这里注意的就是,读写坐标的命令写对了就行了。OLED的坐标,纵坐标是0-7,横坐标是0-127。

以上这些都配置正确了,那么就可以点亮OLED了,剩下的就是去做怎样显示字符等等了。我一直认为,屏这个外设,只要点亮了,那么剩下的就是动脑的问题了,只要写好了画点函数,那么点构成线,线构成面。就是这样的道理。


推荐阅读

史海拾趣

Carlisle Interconnect Technologies公司的发展小趣事

随着电子行业的快速发展,Carlisle Interconnect Technologies不断进行技术升级和产品创新。公司不断引进先进的生产设备和技术,提升产品的质量和性能。同时,公司还积极拓展产品线,从最初的绝缘电线电缆扩展到连接器、传感器等多个领域。这种多样化的产品策略使得公司能够更好地满足客户的多样化需求,也在市场上取得了更大的成功。

Advanced Microelectronic Products Inc公司的发展小趣事

在电子行业竞争日益激烈的背景下,AMP公司面临着来自同行的巨大压力。为了应对这一挑战,公司进行了战略调整,将重心转向高端电子产品的研发和生产。通过不断提升产品性能和品质,AMP公司成功打造了多个高端品牌,并在细分市场中取得了显著优势。此外,公司还积极拓展新的应用领域,为未来发展奠定了坚实基础。

CCS[Custom Computer Services]公司的发展小趣事

在电子行业中,产品质量和客户服务是企业生存和发展的关键。CCS公司始终坚持质量第一的原则,建立了严格的质量管理体系和客户服务体系。公司从原材料采购到产品生产、销售等各个环节都进行严格的质量控制,确保产品的质量和性能达到客户的期望。同时,CCS公司还提供了全方位的客户服务,包括售前咨询、售后服务和技术支持等,为客户提供了全方位的支持和帮助。

ADI(亚德诺半导体)公司的发展小趣事

在电子行业的早期,CCS公司凭借其出色的研发能力,成功开发出一款具有革命性的计算机服务软件。这款软件不仅大幅提高了计算机的运行效率,还为用户提供了更加便捷的操作体验。凭借这一技术创新,CCS公司迅速在市场中崭露头角,赢得了大量客户的青睐。随着技术的不断迭代和升级,CCS公司始终保持在行业前沿,逐渐发展成为电子行业的领军企业。

Hirect公司的发展小趣事
经过晶闸管调制后的电压波形可能含有谐波成分,需要通过滤波电路进行滤波处理,得到平滑的输出电压。
EG & G Inc公司的发展小趣事

为了进一步扩大市场份额,EG & G Inc公司积极开展市场拓展和国际合作。公司在中国、欧洲等多个国家和地区设立了分支机构,与当地企业建立了紧密的合作关系。同时,公司还积极参与国际展览和交流活动,展示了其先进的技术和产品。这些努力使得EG & G Inc公司在国际市场上获得了更多的机会和认可。

问答坊 | AI 解惑

分布式控制系统

分布式控制系统分布式控制系统 (distributed control systems,简称DCS),又称为分散控制系统,分散型控制系统,集散控制系统.行业内业称4C技术既Control控制技术;Computer 计算机技术;Communication 通信技术;Cathode Ray Tube CRT显示技术。    ...…

查看全部问答>

嵌入式培训 茫然无措啊 从何入手呢?需要高手指点一二

马上就要开始嵌入式培训,可是不知道该看哪些书籍,不知道从哪里入手,希望老师师哥师姐们能伸出援助之手 …

查看全部问答>

用VC编写与HID设备通信程序遇到问题!

大家好,现在情况是这样的,HID设备可以正常枚举并且Windows提示可以使用,我也基本知道了在 VC中如何访问HID设备,但是现在的问题是,CreateFile之后可以得到正确的句炳,并且HidD_GetAttributes,HidD_GetPreparsedData以及HidP_GetCaps都正确得 ...…

查看全部问答>

交叉编译qt的问题

请问我交叉编译qt的时候出现错误: cannot find -lqtopia 怎么办啊? 具体错误信息: /usr/bin/ld: cannot find -lqtopia collect2: ld returned 1 exit status cd /home/qt/x86-qt/qtopia/bin ; ln -sf quicklauncher mediarecorder make[1 ...…

查看全部问答>

有人使用KEIL C166吗?

我怎么下载的都有2k限制啊 破解的也不行啊…

查看全部问答>

wince 高手们,用什么函数能启用PDA的无线功能

wince高手们,小弟现在用的是华硕的626的一款pda,操作系统是windows mobile6.0,支持无线Wi-Fi; 小弟现有一个问题,我在程序中用什么函数能够自动启用无线功能?…

查看全部问答>

开发板申请-基于eZ430-RF2500的无线收发实验

[ 本帖最后由 ch0721 于 2011-2-16 23:39 编辑 ]…

查看全部问答>

最后一晚

本帖最后由 paulhyde 于 2014-9-15 03:59 编辑 之前不是说了猜中一道题目类型就有100芯币的吗?怎么到现在还没有。。。。  …

查看全部问答>

Verilog三段式状态机描述

 二段式:状态切换用时序逻辑,次态输出和信号输出用组合逻辑。        三段式:状态切换用时序逻辑,次态输出用组合逻辑,信号输出用时序逻辑。信号输出的process中,case语句用next state做条件,可以解 ...…

查看全部问答>