ADC触摸屏编程_ADC中断( 二 )


我们按下触摸屏会产生触摸屏中断 , 启动自动测量 , 启动Adc , Adc成功后会进入Adc中断 , 在函数中打印数据
也许测量过程很长我们就需要判断
void Isr_Adc(void){int x = ADCDAT0;int y = ADCDAT1;//松开的话打印也是错误的值 , 所以如果仍然按下才打印if (!(x & (1<<15))) /* 如果仍然按下才打印 */{x &= 0x3ff;y &= 0x3ff;//打印10进制printf("x = %08d, y = %08dnr", x, y);}enter_wait_pen_up_mode();}烧写执行
发现X Y轴输出有问题

ADC触摸屏编程_ADC中断

文章插图
 
厂家把X Y轴搞反了
电路图中TSYP TSXP接反TSYM TSXM接反
ADC触摸屏编程_ADC中断

文章插图
 
我们后面使用触摸屏时会使用软件处理这点 , 不会导致任何问题
有一个缺点我们按下触摸屏会输出一个数据 , 再按下触摸屏又输出一个数据我长按并没有输出数据 , 我滑动也没有输出数据我们需要使用定时器改进这个问题
各种方向的旋转都可以由软件转换
ADC触摸屏编程_ADC中断

文章插图
 
我们需要把触摸屏的坐标TS XY坐标转换成LCD的XY坐标需要用应用程序做我们常使用Tslib库来做 , 这些旋转倒置都没有问题




推荐阅读