Linux LCD 自动关闭解决方法

默认情况下 10 分钟以后 LCD 就会熄屏,这个并不是代码有问题,而是 Linux 内核设置的,
就和我们用手机或者电脑一样,一段时间不操作的话屏幕就会熄灭,以节省电能。解决这个问
题有多种方法。

按键唤醒

最简单的就是按下回车键唤醒屏幕,如果没有键盘,那就用一个按键模拟键盘的回车键,通过输入输入子系统上报KEY_ENTER事件

关闭 10  分钟熄屏功能

在 Linux 源码中找到 drivers/tty/vt/vt.c 这个文件,在此文件中找到 blankinterval 变量,如下
所示

static int vesa_blank_mode;
static int vesa_off_interval;
static int blankinterval = 10*60;

blankinterval 变量控制着 LCD 关闭时间,默认是 10*60,也就是 10 分钟。将 blankinterval
的值改为 0 即可关闭 10 分钟熄屏的功能,修改完成以后需要重新编译 Linux 内核,得到新的
zImage,然后用新的 zImage 启动开发板。

编写一个 APP 来关闭息屏功能

创建一个 lcd_always_on.c 文件

#include <fcntl.h>
#include <stdio.h>
#include <sys/ioctl.h>

int main(int argc, char *argv[])
{
	int fd;
	fd = open("/dev/tty1", O_RDWR);
	write(fd, "\033[9;0]", 8);
	close(fd);
	return 0;
}

编译

arm-linux-gnueabihf-gcc lcd_always_on.c -o lcd_always_on

编译生成 lcd_always_on 拷贝到开发板的/usr/bin 目录中并设置为开机自启动。打开/etc/init.d/rcS

cd /usr/bin
./lcd_always_on
cd ..

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值