今天一直在写触摸屏滑动的程序,主要涉及到了ADC、中断、触摸屏、时钟、串口。
下面把我总结的触摸屏滑屏程序流程写下来:
1、首先是MMU_Init();
2、然后是uart_init();初始化串口异步通信配置,时钟可以不用配置,默认配置即可。
3、接着是重要的ADC的配置
配置A/D转换频率2.5Mhz
延时使其稳定
配置ADCCON
配置ADCTSC(YM/YP/XM/XD/PULL-UP/AUTO_PST/XY_PST)
注册中断(调用中断服务程序)
清除标志位
4、配置触摸屏
配置ADCTSC(上拉,Y测量)
延时使其稳定
开始转换
循环判断是否开始
循环判断是否结束
检测ADC是否有中断请求
没有则响应触摸屏子中断
清除ADC中断标志位
读取ADC转换的xy值(初始位置)
接着循环检测(xy)ADC一直在转换值直到没有发生移动结束
比较横纵坐标的变化,判断滑动方向
向串口发送比较结果