emWin 2天速成实例教程017_屏幕无操作进入待机状态的实现方法

本文提供了一种使用emWin图形库在触摸屏应用中实现待机功能的方法。通过创建一个透明/灰色的Window并在其中设置定时器,当用户3秒无操作时显示待机窗口。待机状态下,可以关闭高功耗模块和背光。待机窗口的透明度由D1_TransENA宏定义控制,而GUI_PID状态数组和函数可用于监测触摸屏等输入设备的状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

备注:(1)打开工程目录下的"Exe\GUISimulationDebug.exe"即可看到效果。(2)看完教程000~005就基本会用emWin做项目,其他章节可以需要时再参考。

 

(1)在一些操作界面应用中,需要实现待机功能,当长时间不操作触摸屏时,设备将进入待机模式,比如关闭功耗较大的模块,关闭背光等等...

(2)示例中利用一个透明/灰色的Window窗体做为待机画面,在这个待机Window窗体中放置一个定时器,设定该定时器每100MS触发一次,触发时TimeD变量加1,检测到点击触摸屏时TimeD清零,当TimeD等于30时(即3秒),触发待机事件(示例中只是用WM_ShowWindow()函数显示待机Window窗体并隐藏其他窗体),其他事件用户自行添加。

(3)StandbyDLG.c下的#define D1_TransENA    (0)宏定义用于设置在待机时待机窗体是灰色还是透明。

(4)值得说明的是:GUI_PID_STATE statePID; 和GUI_PID_GetState(&statePID);

GUI_PID_STATE是PID输入设备(比如键盘、鼠标、触摸屏等等)状态数组,GUI_PID_GetState()是获取当前PID状态函数,在一些特殊界面应用中这是非常有用的,务必记住有这么一个东西:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值