我们按下触摸屏会产生触摸屏中断 , 启动自动测量 , 启动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轴输出有问题

文章插图
厂家把X Y轴搞反了
电路图中TSYP TSXP接反TSYM TSXM接反

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

文章插图
我们需要把触摸屏的坐标TS XY坐标转换成LCD的XY坐标需要用应用程序做我们常使用Tslib库来做 , 这些旋转倒置都没有问题
推荐阅读
- Python编程语言的核心是什么?
- TIA博途SCL编程学习6_选择法排序
- Linux 网络编程之如何使用函数库libnet详解
- 反应式编程框架设计:如何使程序调用不阻塞等待,立即响应?
- 高效编程的11条规则
- java多线程编程的核心——AQS独占模式原理解析
- Linux网络编程基础
- C++ socket网络编程——即时通信系统
- 什么是面向接口编程
- 嵌入式Linux编程 #define 宏的高级用法
