OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6558|回复: 1

触摸屏问题

[复制链接]

6

主题

9

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
203
金钱
203
注册时间
2013-8-16
在线时间
0 小时
发表于 2013-8-16 10:51:08 | 显示全部楼层 |阅读模式
while(1)
 { 
   key=KEY_Scan();
  if(Pen_Point.Key_Sta==Key_Down)//触摸屏被按下
  {
   en_Int_Set(0);//关闭中断
   do
   {
    Convert_Pos();
    en_Point.Key_Sta=Key_Up;
    if(Pen_Point.X0>216&&en_Point.Y0<16)Load_Drow_Dialog();//清除
    else
    {
     Draw_Big_Point(Pen_Point.X0,Pen_Point.Y0);//画图    
     GPIOC->ODR|=1<<1;    //PC1 上拉   
    }
   }while(PEN==0);//如果PEN一直有效,则一直执行
   en_Int_Set(1);//开启中断
  }else delay_ms(10);
  if(key==1)//KEY0按下,则执行校准程序
  {
   LCD_Clear(WHITE);//清屏
      Touch_Adjust();  //屏幕校准
   Save_Adjdata(); 
   Load_Drow_Dialog();
  }
  i++;
  if(i==20)
  {
   i=0;
   LED0=!LED0;
  }
 };   

对于这段程序,我有两个问题
1为什么触摸屏被按下后要关中断   en_Int_Set(0);//关闭中断
2是不是如果手一直触摸TFT,PEN就会一直是低,直到手指松开,PEN才变高
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-16 11:50:48 | 显示全部楼层
1,这里例程使用中断检测触摸屏的,运行到这里以后,就直接通过判断PEN脚来读取数据了,不需要再去响应中断。
2,是这样的。但是事实上上这里有点小问题,就是手松开可能PEN一直被stm32判断为低电平,从而不能退出这个循环。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-15 00:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表