这次主要给大家分享一个工作中需要控制背光上电时间的小技巧,主要是用来防止背光上电过快导致屏幕显示出撕扯的画面,或者上电一瞬间闪屏的状态。虽然对整体的显示没有太大的影响,但是看起来总归不是很舒服。(以启扬i.MX6开发板上电为例)

01、硬件分析

这里主要是分两种,一种是不带有pwm调光,这种一般会将屏幕上的背光使能引脚直接与开发板的GPIO引脚相接,然后在合适的时间给予GPIO一个高电平,背光就会亮起;

另外一种是带有pwm调光的,这种就需要具体分析背光调节IC的控制逻辑,不过一般来说这类驱动IC也都会有一个使能端,那么我们控制该使能端就可以控制具体的上电时间,可以让硬件工程师将使能端与开发板的GPIO引脚连接,这样就可以控制背光亮起的时间。

02、软件配置

综上分析,只要我们对GPIO控制进行调整就可以改变屏幕背光上电时间。从软件层面上面来说控制一个GPIO的电平是非常简单的,但是事情往往没那么简单。

在内核中将该GPIO拉低然后延迟一些时间后再拉高从理论上来说是可以实现这个背光控制的逻辑,但是从实践中上看屏幕并没有很明显的一个亮灭变化。

一开始怀疑驱动没有加载的缘故,后来加上打印信息后发现驱动加载上了,说明引脚的电平也确实发生了变化,只是可能因为速度过快肉眼来不及察觉。但是当把延时拉大后又发现屏幕会出现亮-灭-亮的现象,这说明控制GPIO引脚在上电的一瞬间是拉高的状态,所以在内核态的时候会发生灭亮的现象。

既然找到问题所在,那么解决办法就是在最开始将该GPIO拉低,这样我们就不会看到屏幕亮灭亮的现象了。

开发板最开始上电初始化的执行程序就在uboot中,uboot具体的启动流程这里就不做具体的分析了。一般来说,最开始的汇编阶段用来初始化MMU、时钟等相关外设,这里就在启扬uboot配置文件mx6qiyang.c中初始化GPIO。与在内核中配置GPIO相同,首先配置GPIO的复用功能,使其引脚为GPIO,然后将GPIO引脚的电平拉低。

很多小伙伴会说这里并没有将GPIO拉高的操作。这是因为uboot阶段非常短暂,可能在uboot阶段将GPIO拉高依旧会引起闪屏的现象,所以这里我们还是建议在内核中将GPIO拉高,这样就可以完美的控制背光的亮起时间,这样就不会造成开机闪屏的现象了。

如何解决开发板背光上电过快导致的闪屏和画面撕裂?相关推荐

  1. ESP8266 Arduino 解决开发板管理器下载开发包失败和速度慢的方法

    一.问题原因 在Arduino中想要下载esp8266开发包,发现下载失败,或者下载速度很慢 第一个想到的解决方法应该是找个代理网络,但是太麻烦. 第二个是不在开发板里面下载,下载外部的esp8266 ...

  2. 物联网开发笔记(58)- 使用Micropython开发ESP32开发板之控制2.90寸电子墨水屏模块黑白套件

    一.目的 这一节我们学习如何使用我们的ESP32开发板来控制2.90寸电子墨水屏模块(黑白套件). 二.环境 ESP32 + 2.90寸 电子墨水屏模块 + Thonny IDE + 几根杜邦线 接线 ...

  3. 修改注册表导致电脑闪屏,且win+R无效

    文章目录 修改注册表导致电脑闪屏,且win+R无效 Author:Luis Time:2022-04-07 Version:v1.0 情景 步骤 1.点击文件的运行新任务,相当于按键打开了win+R ...

  4. 分析波形信号解决开发板串口连PC后无输出或输出乱码的问题

    几乎所有的开发板都会支持串口输出调试,但不是每次我们都有那么好运能直接看到串口输出.我自己也遇到过几次串口无输出或输出乱码的问题,这里总结一下. 1.无输出:一般可能是管脚接错了,把接收脚和发射脚掉转 ...

  5. 解决开发板运行QT后找不到字体文件

    QT版本:5.91 错误:QFontDatabase: Cannot find font directory '/usr/lib/fonts'. 解决方法: 方法1: 从PC端的qt安装目录下拷贝fo ...

  6. ubuntu16.04下安装dnw和fastboot工具,解决开发板只有uboot系统,没有网络的情况下,通过dnw和fastboot传送文件到开发板

    当我们拿到一块裸板,这时板上没有系统.此时pc机和开发板就没法通过ftp,nfs等网络协议来通信,就没法将我们的pc机端上的文件传输到裸板上.这时我们先自己配置编译bootloader,如u-boot ...

  7. 路由器wds桥接方法-解决开发板、windows、ubuntu互ping问题

    花3分钟了解这片文章内容,以后你搬家了.电脑换了.开发环境变了,可能会用到! 号主:一枚机械专业本科生,经历了转行,从外包逆袭到芯片原厂的Linux驱动开发工程师,深入操作系统的世界,贯彻终身学习.终 ...

  8. Android开发 关于避免切换主题时免闪屏的几种方式

    Android开发 关于避免切换主题时闪屏的几种方式 在activity中调用setTheme来切换夜间模式的方法可能大家有看过相关的文章了,但是调用setTheme设置的主题后界面并没有变化,这时需 ...

  9. 解决Linux下Nvidia闭源驱动的双显卡笔记本画面撕裂问题

    由于相关需求,近日安装了Ubuntu19.10用于学习,但上手之后即出现了原来Windows10环境下从没有发生的画面撕裂的问题,该问题主要由于Nvidia在Linux平台上的驱动不完善所造成. 目前 ...

最新文章

  1. Latex中数学公式中常用符号(持续更新)
  2. java对象怎么创建_Java对象是怎么创建的(通过对象的创建,了解JVM内存结构)...
  3. 动态规划(一)简单例子
  4. Markdown 如何编写表格(格式)?
  5. POJ1821 Fence
  6. Django开发自己的博客系统
  7. python开发个人博客_[Web开发] Flask+Python 开发个人博客(一)
  8. Linux创建swap文件
  9. python机器学习库sklearn——SGD梯度下降法
  10. Vulkan----Mac环境搭建
  11. 安卓设计模式のAdapter模式
  12. 思科模拟器pnatlab,华为模拟器ensp桥接本地
  13. 2020-11-12
  14. highCharts3D圆柱图的使用
  15. MySQL更新时间的时候生成随机时间
  16. 易语言-通过快捷方式.lnk文件获取.exe源文件地址
  17. 在vscode编辑器中,vetur和volar冲突
  18. 产品思维的修炼–技术的必修课
  19. 【el-dialog + video】控制视频弹框的显示与隐藏
  20. PHP 获取指定日期的周一

热门文章

  1. 2021年天津市普通高考志愿填报工作规定|如何高考志愿填报时间
  2. 相逢相失两如梦 秋风一叹半池泪
  3. Python网络爬虫封锁限制的几种方法
  4. 阅读软件打不开HTML,教你win7浏览器打不开本地html文件格式的解决方法
  5. windows主机支持php,HostEase Windows主机安装PHPWind论坛程序
  6. 超链接下载文件包含特殊符号和中文的处理
  7. docker部署访问postgres数据库(一次到位)
  8. 湖南大学计算机房工训,人力资源处领导一行前来工训中心调研
  9. Vue2(一):初识Vue、模板语法、数据绑定、el和data的两种写法、MVVM、数据代理、事件
  10. ADVANCED驱动器维修AMC驱动器DX15CT8J-PH2