彻底解决SPI协议OLED屏幕通道干扰乱码

这几天因为OLED屏幕时不时的出现乱码,字符跳动问题困惑了我好几天,写程序进度变得异常缓慢把时间都浪费在调试上了。一直再找程序bug,不停修改,甚至删了好几个修改好长时间的工程,都是因为闪屏,跳屏造成的。现象是:刚刷进去的程序很稳定但跑一会就自己接着奏乐,接着舞了。
因为用的ADC+DMA多通道扫描+均值滤波做的温度和压力采集就以为是ADC通道干扰造成的,就把通道一个个屏蔽掉,还是不行。于是怀疑是自己oled底层驱动写的有问题,把官方给的驱动都改的面目全非,还是无果。最后还是怀疑是硬件的问题,逐个对oled这几个引脚进行接触发现片选CS引脚干扰的非常厉害,很奇怪,软件初始化oled后就直接上拉了怎么干扰这么大?我用1k电阻串进去,干扰还是存在,用10k电阻再次上拉到3.3v vcc上还是不行,最后用10k直接把CS拉到GND才彻底解决信号干扰现象。
总结一下这个oled屏幕是中景园SPI系列的屏幕片选引脚受外界干扰是个硬件bug,厂商并不知道,今天用10k电阻拉地修复了。如果有遇到我这种情况的,可以用手摸这些SPI插针找出哪个受干扰最厉害就直接拉地。
现在屏幕稳如泰山,不在有任何闪动的噪点,而且数据动态显示也异常流畅,表现最突出的是按键很灵敏了。等于说原来SPI的CS引脚受干扰通道阻塞数据传输,拖累了系统。在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 21
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
7针SPI接口OLED屏幕工作原理如下: OLED(Organic Light-Emitting Diode),即有机发光二极管,是一种采用有机材料制成的发光显示技术。它与传统的液晶显示技术不同,不需要背光源,在电流的激励下,有机材料能够直接发光。 OLED屏幕使用7针SPI接口进行通信连接。SPI(Serial Peripheral Interface)是一种串行外设接口,通过时钟、数据输入和输出、片选等引脚实现设备之间的数据传输。其中,7针SPI接口可以具体分为以下几个部分来解释: 1. 电源引脚:通常有VCC和GND两个引脚,分别提供电源和接地。 2. SPI时钟引脚(SCLK):通过这个引脚传输时钟信号,控制数据的传输速度。 3. 数据引脚(SDA):通过这个引脚传输数据,包括指令和像素信息。 4. 片选引脚(CS):通过这个引脚选择与OLED屏幕进行通信的设备。 5. 复位引脚(RST):通过这个引脚对OLED屏幕进行复位操作,初始化显示参数。 6. 数据/命令引脚(D/C):通过这个引脚发送数据或者命令给OLED屏幕,区分是发送数据还是发送控制信息。 7. 开关引脚(BS1/BS0):用于选择OLED屏幕的工作模式,设置屏幕的亮度和对比度等参数。 OLED屏幕首先通过SPI接口与主控设备进行通信,发送初始化命令和显示数据。主控设备通过SCLK引脚提供时钟信号,通过SDA引脚发送给OLED屏幕并接收从屏幕返回的数据。同时,D/C引脚和CS引脚用于发送不同的命令或数据。 OLED屏幕接收到数据后,根据主控设备发送的指令和数据进行处理,将图像或文本信息通过有机材料发光显示出来。由于OLED屏幕采用的是有机材料,能够直接发光,在显示效果上具有更高的色彩饱和度和对比度,同时还有更快的响应速度和更广的可视角度。 总结起来,7针SPI接口是用于OLED屏幕与主控设备进行通信的接口,通过发送时钟信号和数据,实现显示内容的刷新和更新。而OLED屏幕通过有机材料发光原理,将数据转换为可见光信号,从而实现图像和文字的显示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值