0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

英创信息技术ESM335x WEC7背光使用方法

英创信息技术 来源:英创信息技术 作者:英创信息技术 2020-02-04 10:36 次阅读

英创所有嵌入式主板都提供了屏幕背光控制方案,本文将详细介绍如何在ESM335X WEC7上进行屏幕背光控制。

自动背光设置

设置自动背光时间,可以让系统在停止操作一定时间后自动关闭屏幕背光,当恢复操作后自动打开屏幕背光,设置方法如下:

打开控制面板->电源,选择“方案”页,选择“电源使用方案”为“交流电源”,选择“将状态切换为用户空闲”选项的时间,这个时间即自动关闭背光的时间。

手动控制背光开关

有时客户希望在自己应用程序中能够自由控制背光的开关,那么可以参考我们例程进行如下调用。

#include

#include "winioctl.h"

#include "pm.h"

#define FILE_DEVICE_POWER FILE_DEVICE_ACPI

#define IOCTL_POWER_SET CTL_CODE(FILE_DEVICE_POWER, 0x402, METHOD_BUFFERED, FILE_ANY_ACCESS)

HANDLE hBLK;

CEDEVICE_POWER_STATE power;

DWORD dwReturn;

//操作背光前需要先打开背光驱动

hBLK = CreateFile(L"BKL1:", // name of device

GENERIC_READ|GENERIC_WRITE, // desired access

FILE_SHARE_READ|FILE_SHARE_WRITE, // sharing mode

NULL, // security attributes (ignored)

OPEN_EXISTING, // creation disposition

FILE_FLAG_RANDOM_ACCESS, // flags/attributes

NULL); // template file (ignored)

//获得屏幕背光状态

BOOL success;

success = DeviceIoControl(hBLK,

IOCTL_POWER_GET,

NULL,

0,

&power,

sizeof(CEDEVICE_POWER_STATE),

NULL,

NULL);

//关闭屏幕背光,恢复操作(鼠标移动,按键等)屏幕背光不会打开

power = D4;

success = DeviceIoControl(hBLK,

IOCTL_POWER_SET,

NULL,

0,

&power,

sizeof(CEDEVICE_POWER_STATE),

&dwReturn,

NULL);

//关闭屏幕背光,恢复操作(鼠标移动,按键等)屏幕背光自动打开

power = D1;

success = DeviceIoControl(hBLK,

IOCTL_POWER_SET,

NULL,

0,

&power,

sizeof(CEDEVICE_POWER_STATE),

&dwReturn,

NULL);

//打开屏幕背光

power = D0;

success = DeviceIoControl(hBLK,

IOCTL_POWER_SET,

NULL,

0,

&power,

sizeof(CEDEVICE_POWER_STATE),

&dwReturn,

NULL);

//关闭背光驱动

if(hBLK != NULL)

{

CloseHandle(hBLK);

}

操作时需要先打开背光驱动,操作完成后需关闭背光驱动,D0为开,D4为关。

控制屏幕背光亮度

ESM335X WEC7除了控制屏幕开关,还可以调节屏幕亮度,操作代码如下:

#defineIOCTL_BKL_GET_SETTINGS CTL_CODE(FILE_DEVICE_BACKLIGHT, 0x102, METHOD_BUFFERED, FILE_ANY_ACCESS)

#defineIOCTL_BKL_SET_SETTINGS CTL_CODE(FILE_DEVICE_BACKLIGHT, 0x103, METHOD_BUFFERED, FILE_ANY_ACCESS)

BKL_SETTINGS_INFO bklInfo;

//操作背光前需要先打开背光驱动

hBLK = CreateFile(L"BKL1:", // name of device

GENERIC_READ|GENERIC_WRITE, // desired access

FILE_SHARE_READ|FILE_SHARE_WRITE, // sharing mode

NULL, // security attributes (ignored)

OPEN_EXISTING, // creation disposition

FILE_FLAG_RANDOM_ACCESS, // flags/attributes

NULL);

//先调用IOCTL_BKL_GET_SETTINGS获得当前BKL_SETTINGS_INFO

success = DeviceIoControl(hBLK,

IOCTL_BKL_GET_SETTINGS,

NULL,

0,

&bklInfo,

sizeof(BKL_SETTINGS_INFO),

&dwReturn,

NULL);

//通过修改BKL_SETTINGS_INFO的dwBrightness_ExPower,让屏幕从亮变暗

for(inti=0xff; i>=0; )

{

bklInfo.dwBrightness_ExPower = i;

success = DeviceIoControl(hBLK,

IOCTL_BKL_SET_SETTINGS,

&bklInfo,

sizeof(BKL_SETTINGS_INFO),

NULL,

0,

&dwReturn,

NULL);

Sleep(100);

i -= 5;

}

//通过修改BKL_SETTINGS_INFO的dwBrightness_ExPower,让屏幕从暗变亮

for(inti=0; i<=0xff; )

{

bklInfo.dwBrightness_ExPower = i;

success = DeviceIoControl(hBLK,

IOCTL_BKL_SET_SETTINGS,

&bklInfo,

sizeof(BKL_SETTINGS_INFO),

NULL,

0,

&dwReturn,

NULL);

Sleep(100);

i+= 5;

}

if(hBLK != NULL)

{

CloseHandle(hBLK);

}

操作时需要先打开背光驱动,需要先调用IOCTL_BKL_GET_SETTINGS获得背光参数,然后调用IOCTL_BKL_SET_SETTINGS设置亮度范围。亮度范围为0到255,0表示最暗,255表示最亮。

其它屏幕背光参数控制说明

使用远程注册表工具打开ESM335X WEC7注册表,找到背光驱动信息处。

这里的PwmFreq值为屏幕背光频率值,默认为400Hz,用户可以根据自身选购屏参数性能自由调节该频率值。

本文提及的例程均可联系英创工程师获得。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6085

    浏览量

    35342
收藏 人收藏

    评论

    相关推荐

    飞腾助力首届教育信息技术应用创新大赛圆满落幕

    近日,由中国教育技术协会主办,教育部教育管理信息中心教育信实验室、公安部第三研究所、中国电子工业标准化技术协会信工委会支持,北京航空航天
    的头像 发表于 12-24 09:57 104次阅读

    有方科技参编的信息技术团体标准发布

    近日,有方科技参编的《信息技术产品供应链成熟度 共性指标 第1部分:企业背景评价》《信息技术产品供应链成熟度 共性指标 第2部分:技术掌控评价》《信息技术产品供应链成熟度 共性指标 第
    的头像 发表于 12-23 10:44 121次阅读

    龙芯中科助力2024首届教育信息技术应用创新大赛成功举办

    近日,2024首届教育信息技术应用创新大赛在北京航空航天大学成功举办。本次大赛由中国教育技术协会主办,教育信实验室、公安部第三研究所、中国电子工业标准化技术协会信
    的头像 发表于 12-19 17:02 220次阅读

    AM335x和AMIC110 Sitara™处理器技术参考手册

    电子发烧友网站提供《AM335x和AMIC110 Sitara™处理器技术参考手册.pdf》资料免费下载
    发表于 11-14 15:07 0次下载
    AM<b class='flag-5'>335x</b>和AMIC110 Sitara™处理器<b class='flag-5'>技术</b>参考手册

    CC13x2x7和CC26x2x7 SimpleLink无线MCU技术参考手册

    电子发烧友网站提供《CC13x2x7和CC26x2x7 SimpleLink无线MCU技术参考手册.pdf》资料免费下载
    发表于 11-14 14:16 0次下载
    CC13<b class='flag-5'>x2x7</b>和CC26<b class='flag-5'>x2x7</b> SimpleLink无线MCU<b class='flag-5'>技术</b>参考手册

    中科达荣获2024年软件和信息技术服务优秀企业

    及前百家企业”名单。中科达凭借非凡的技术实力与持续的创新能力,成功入选“2024年度软件和信息技术服务竞争力百强企业”以及“2024年软件和信息技术服务优秀企业”。
    的头像 发表于 10-30 11:44 485次阅读

    AM335x功耗估算工具

    电子发烧友网站提供《AM335x功耗估算工具.pdf》资料免费下载
    发表于 10-12 11:46 0次下载
    AM<b class='flag-5'>335x</b>功耗估算工具

    国产化背景下的工控主板发展现状

    ,是信息技术应用创新产业的简称,于2016年“信工委会”(信息技术应用创新工作委员会)提出,目的就是要推动我们国内软硬件关键技术的研发
    的头像 发表于 09-21 16:15 404次阅读

    AM335x硬件设计指南

    电子发烧友网站提供《AM335x硬件设计指南.pdf》资料免费下载
    发表于 09-19 11:05 0次下载
    AM<b class='flag-5'>335x</b>硬件设计指南

    AM335x原理图核对表

    电子发烧友网站提供《AM335x原理图核对表.pdf》资料免费下载
    发表于 09-19 11:03 0次下载
    AM<b class='flag-5'>335x</b>原理图核对表

    梯度科技入选2023年信息技术应用创新解决方案名单

    日前,工业和信息化部网络安全产业发展中心(工业和信息化部信息中心)在天津举办2024信息技术应用创新发展大会暨解决方案应用推广大会。会上正式公布了2023年
    的头像 发表于 09-09 16:29 433次阅读

    MSP430 FRAM技术使用方法和最佳实践

    电子发烧友网站提供《MSP430 FRAM技术使用方法和最佳实践.pdf》资料免费下载
    发表于 08-23 09:23 0次下载
    MSP430 FRAM<b class='flag-5'>技术</b>–<b class='flag-5'>使用方法</b>和最佳实践

    龙芯中科突破“卡脖子”难题,构建新型信息技术体系

    胡伟武强调,在Wintel和AA体系主导全球电子产业的环境下,中国需建立独立于X86和ARM的第三套信息技术体系和产业生态,解决关键技术被封锁的困境,加速形成新质生产力,从而创造新的竞争优势。
    的头像 发表于 05-20 16:12 589次阅读

    手柄控制代码及使用方法

    手柄控制代码及使用方法
    的头像 发表于 05-15 10:19 1828次阅读

    龙芯中科三项信方案入围工信部2023年信息技术应用创新应用示范案例名单

    近日,工业和信息化部通报了2023年信息技术应用创新解决方案征集遴选结果,本次共评选出典型解决方案173个、应用示范案例83个、单项创新案例64个。
    的头像 发表于 03-07 16:45 935次阅读
    龙芯中科三项信<b class='flag-5'>创</b>方案入围工信部2023年<b class='flag-5'>信息技术</b>应用创新应用示范案例名单