首先我们要先知道触摸屏,他是透明的薄膜,LCD和触摸屏是两个不同的设备。我们不能把它混为一谈,触摸屏是触摸屏LCD是LCD。从韦老师的博客我们知道或者说百度,实际上触摸屏是由两层膜组成,我的理解是这样子更加方便ADC测量,也就是去进行精准位置。
在学习ADC触摸屏编程测试的时候遇到一个问题,那就是在点击A点的时候自动跳过了B点直接到达C点位置校准。
经过韦老师的分析加上自己的理解也终于明白为什么是在上报数据的时候多次上报造成数据的错误。经我测试有三个解决方法,但是认为有一个可能是不对劲,逻辑上有点不严谨,虽然测试成功。
方法一:
void Isr_Tc(void)
{
if (ADCDAT0 & (1<<15))
{
//printf("pen up\n\r");
enter_wait_pen_down_mode();
//report_ts_xy(0, 0, 0);
}
else
{
//printf("pen down\n\r");
/* 进入自动测量模式 */
enter_auto_measure_mode();
/* 启动ADC */
ADCCON |= (1<<0);
}
}
注释触摸屏中断的上报数据也就是 report_ts_xy(0, 0, 0)
方法二:
void Isr_Adc(void)
{
i