4048|9

64

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

如何修改背光驱动,当背光定时关闭后,可以通过触摸屏操作从新点亮? [复制链接]

   如题,因为触摸和背光是不同的DLL,如何在触摸屏驱动中产生一个事件,并通知背光的监视线程?
   比如说当触摸笔DOWN事件!

最新回复

这里面创建了两个同名的同步对象,看来操作系统是把它当成同一个同步对象来处理的吧!  详情 回复 发表于 2009-5-19 09:38
点赞 关注

回复
举报

82

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
  1. 在背光驱动中
  2. //TouchInputEvent
  3. const TCHAR szevtTouchInput[] = TEXT("TouchInputEvent");


  4. //  Set up all the events we need.
  5.     g_evtSignal[0] = CreateEvent(NULL, FALSE, FALSE, szevtBacklightChange);
  6.     g_evtSignal[1] = CreateEvent(NULL, FALSE, FALSE, szevtUserInput);
  7.     g_evtSignal[BL_POWEREVT] = CreateEvent(NULL, FALSE, FALSE, szevtPowerChanged);
  8.     g_evtSignal[3] = CreateEvent(NULL, FALSE, FALSE, szevtBLKeyPress);
  9.     g_evtSignal[4] = CreateEvent(NULL, FALSE, FALSE, szevtTouchInput);        //[color=#FF0000]TouchInputEvent[/color]

  10. dwResult = WaitForMultipleObjects(NUM_EVENTS, &g_evtSignal[0], FALSE, dwTimeout);——等待多个事件触发。

  11. 在触摸屏驱动中
  12. const TCHAR szevtTouchInput[] = TEXT("TouchInputEvent");——看看这里就知道怎么回事了,和上面一样定义
  13. HANDLE hEventTouchInput;

  14. hEventTouchInput = CreateEvent(NULL, FALSE, FALSE, szevtTouchInput);
  15. // 然后在按下触摸 产生的线程里面
  16. 加入SetEvent(hEventTouchInput);就可以实现你的效果,当然要在背光的WaitForMultipleObjects相关部分加入打开背光的操作。
复制代码
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
手动加一个事件
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

4
 
类似不同程序间的事件通知。只要申请同一个事件。
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

5
 
将来也要做这个。
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

6
 
原来这么简单,谢谢各位!我本来想用WaitForMultipleObjects等待中断事件,SYSINTR_TOUCH_CHANGED.
发现WaitForMultipleObjects不支持,InterruptInitialize.
   还是手动加一个吧!
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

7
 
顺便问一下,同一个逻辑中断,比如SYSINTR_TOUCH_CHANGED能对应多个EVENT吗?
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

8
 
我也在弄这个东东,暂时还没这么多头绪,程序还没看懂
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

9
 
搞定了,谢谢各位!
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 1 楼 gooogleman 的回复:
C/C++ code在背光驱动中
//TouchInputEvent
const TCHAR szevtTouchInput[] = TEXT("TouchInputEvent");


//  Set up all the events we need.
    g_evtSignal[0] = CreateEvent(NULL, FALSE, FALSE, szevtBacklightChange);
    g_evtSignal[1] = CreateEvent(NULL, FALSE, FALSE, szevtUserInput);
    g_evtSignal[BL_POWEREVT] = CreateEvent(NULL, FALSE, FALSE, szevtPowerChanged);
    g_evtSignal[3] = Cr…

这里面创建了两个同名的同步对象,看来操作系统是把它当成同一个同步对象来处理的吧!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表