您所在的位置: 首页>>读书频道>>操作系统>>Linux>>

12.2.3 触摸屏驱动中的硬件控制

http://book.51cto.com  2008-03-10 12:31  宋宝华 编著  人民邮电出版社  我要评论(0)
  • 摘要:《Linux设备驱动开发详解》本书全面而详细地讲解了Linux设备驱动开发中涉及的理论以及多种设备驱动的框架。第12章将分析5个典型的字符设备驱动,在这些驱动中,将灵活地运用到前面各章所讲解的内容。本文写的是触摸屏驱动中的硬件控制。
  • 标签:Linux  RTOS  设备  驱动  ADC  Linux设备驱动开发详解

12.2.3  触摸屏驱动中的硬件控制

代码清单12.15中的一组宏用于控制触摸屏和ADC进入不同的工作模式,如等待中断、X/Y位置转换等。

代码清单12.15  触摸屏和ADC硬件控制

1  #define wait_down_int(){ ADCTSC = DOWN_INT | XP_PULL_UP_EN |\
2  XP_AIN | XM_HIZ | YP_AIN | YM_GND | \
3  XP_PST(WAIT_INT_MODE); }
4  #define wait_up_int(){ ADCTSC = UP_INT | XP_PULL_UP_EN | XP_AIN |\
5  XM_HIZ |YP_AIN | YM_GND | XP_PST(WAIT_INT_MODE); }
6  #define mode_x_axis(){ ADCTSC = XP_EXTVLT | XM_GND | YP_AIN  \
7  | YM_HIZ |XP_PULL_UP_DIS | XP_PST(X_AXIS_MODE); }
8  #define mode_x_axis_n(){ ADCTSC = XP_EXTVLT | XM_GND | YP_AIN | \
9   YM_HIZ |XP_PULL_UP_DIS | XP_PST(NOP_MODE); }
10 #define mode_y_axis(){ ADCTSC = XP_AIN | XM_HIZ | YP_EXTVLT  \
11 | YM_GND |XP_PULL_UP_DIS | XP_PST(Y_AXIS_MODE); }
12 #define start_adc_x(){ ADCCON = PRESCALE_EN | PRSCVL(49) | \
13 ADC_INPUT(ADC_IN5) | ADC_START_BY_RD_EN | \
14 ADC_NORMAL_MODE; \
15   ADCDAT0; }
16 #define start_adc_y(){ ADCCON = PRESCALE_EN | PRSCVL(49) | \
17 ADC_INPUT(ADC_IN7) | ADC_START_BY_RD_EN | \
18 ADC_NORMAL_MODE; \
19   ADCDAT1; }
20 #define disable_ts_adc(){ ADCCON &= ~(ADCCON_READ_START); }

【责任编辑:董书 TEL:(010)68476606】

回书目   上一节   下一节
Linux——从菜鸟到高手
二手仿冒设备与思科再营销谁更火
Linux/Solaris服务器的安全配置
双机热备技术
Linux 集群技术专题
 
 验证码: (点击刷新验证码)   匿名发表
  • Visual C++ 完全自学宝典

  • 作者:强锋科技,朱洪波
  • Visual C++ 6.0是微软公司为程序人员提供的Visual Studio 6.0工具套件中的重要组成部分。本书由浅入深地介绍使用Visual C++ 6.0..
Copyright©2005-2008 51CTO.COM 版权所有