tq2440触摸屏-学习笔记
来源:互联网 发布:淘宝网板鞋后底女鞋 编辑:程序博客网 时间:2024/06/06 09:45
触摸屏检测方法可以分两种:
1.检测按下、弹起两个状态时的x y坐标值
以检测按下状态是读取x y坐标值为例 实现代码如下
void Init_Touchpanel(void){ ClearPending(BIT_ADC);rSUBSRCPND|=BIT_SUB_TC ;//清adc中断 触摸屏中断rADCDLY=40000; //ADC转换间隔 (1/3.6864M)*50000=13.56ms//Normal conversion mode:ADC Start or interval delay 0~65535rADCCON=(1<<14)+(ADCPRS<<6); //ADCPRS En, ADCPRS Value//使能预分频器 预分频值 ADCPRS(9) AD转换器频率=gclk / (9+1) rADCTSC=0xd3; //Wfait,XP_PU,XP_Dis,XM_Dis,YP_Dis,YM_En//ADC触摸屏控制寄存器 检测手写笔按下的中断信号 YM输出驱动有效 YP输出无效 XM输出禁止 XP输出驱动禁止// XP上啦使能 adc正常转换模式 等待中断模式pISR_ADC = (int)AdcTsAuto;//指定adc中断服务程序 rINTMSK=~BIT_ADC; //ADC Touch Screen Mask bit clearrINTSUBMSK=~(BIT_SUB_TC);//使能中断 当触摸笔按下时 触发INT_TC中断}//触摸屏中断函数void __irq AdcTsAuto(void){//ADCDAT0[15]==1 触摸笔未按下//ADCDAT0[15]==0 触摸笔按下if(rADCDAT0&0X8000)return ;rINTMSK |= (BIT_ADC);//禁止adc中断rSUBSRCPND|=BIT_SUB_TC ;//禁止adc的子中断rADCTSC=(1<<3)|(1<<2); //Pull-up disable, Seq. X,Y postion measure.//xp上拉禁止 自动顺序测量x y位置rADCCON|=0x1; //start ADCwhile(rADCCON & 0x1);//check if Enable_start is low//adc一旦开始 将自动使ADCCON[0]=0while(!(rADCCON & 0x8000)); //check if EC(End of Conversion) flag is high, This line is necessary~!!//adc结束时,ADCCON[15]==1while(!(rSRCPND & (BIT_ADC))); //check if ADC is finished with interrupt bit//等待ADC结束(不管后级中断是否传递 adc完成后 此处应该被置位)point.x = (rADCDAT0&0x3ff);point.y = (rADCDAT1&0x3ff);//获取x y方向的adc值 更新坐标点Uart_Printf("XP=%04d, YP=%04d\n",point.x, point.y); //X-position Conversion data ClearPending(BIT_ADC);rSUBSRCPND|=BIT_SUB_TC ;//清adc中断Init_Touchpanel();//重新初始化触摸屏}
2.检测在按下~弹起两个状态中间的x y坐标值 定时检测并更新坐标
实现:
a 将adc 触摸屏接口设置为检测按下触摸笔中断
b 在adc按下触摸笔中断函数中 将adc的中断服务程序重新指定为弹起触摸笔中断函数
c 在adc按下触摸笔中断函数中 启动定时器定时进行ADC 采集XY坐标值 或在每次读取坐标值的时候进行ad转换 获取坐标值
d 在adc弹起触摸笔中断函数中 关闭定时器 停止采集x y坐标
- tq2440触摸屏-学习笔记
- TQ2440 学习笔记—— 26、ADC 和触摸屏接口
- UCOS-II+TQ2440+触摸屏
- TQ2440 触摸屏入门
- TQ2440 触摸屏校正
- TQ2440 触摸屏入门
- ADC与触摸屏试验--TQ2440
- 触摸屏驱动学习笔记 一
- 触摸屏应用程序阻塞学习笔记
- Tq2440学习笔记之外部中断
- TQ2440,学习笔记之开发板介绍
- TQ2440,学习笔记之 交叉工具链
- TQ2440,学习笔记之链接器脚本
- TQ2440,学习笔记之ARM处理器寄存器
- TQ2440,学习笔记之寻址方式
- Linux驱动学习笔记之触摸屏驱动
- STM32 TFT学习笔记——触摸屏
- Linux驱动学习笔记之触摸屏驱动
- 将一个5*5的矩阵中最大的元素放在中心,4个角分别放在4个最小的元素
- 使用EnableMenuItem函数无效
- Android隐式启动Activity
- hdu2492
- 数组中有重复数据统计并按照次数的由大到小排列出来
- tq2440触摸屏-学习笔记
- python测试框架——unittest和nosetest
- CDO.Message使用详细介绍
- flex日志的使用与配置方法
- POJ3159 最大差距(差分约束系统)
- 经验总结2
- 如何制作一个简单的游戏 Cocos2d-x 2.0.4
- dedecms设计自己的网站
- 如何建立内核树