OpenEdv-开源电子网

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

关于触摸屏的问题,请原子哥帮帮忙!!!!!!!!!!!!

[复制链接]

29

主题

311

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1530
金钱
1530
注册时间
2012-9-4
在线时间
262 小时
发表于 2013-3-21 20:02:23 | 显示全部楼层 |阅读模式

在mini板上,ALIENTEK MINISTM32 实验18 触摸屏实验 中

 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();
  }

上面是主函数的部分代码,对于红色代码处不懂,在检验是否有触摸按下时,为什么用Pen_Point.Key_Sta来判断啊

他仅仅是结构体里的一个变量,和当触摸屏有按下时,Pen_Point.Key_Sta值是怎么改变的?


 


有没有关于触摸屏详细的讲解啊?求pdf详解。。。。。

STM32---STM32---STM32---STM32---STM32---STM32---STM32---STM32---STM32
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-3-21 21:39:05 | 显示全部楼层
回复【楼主位】aben:
---------------------------------
//中断,检测到PEN脚的一个下降沿.
//置位Pen_Point.Key_Sta为按下状态
//中断线0线上的中断检测
void EXTI1_IRQHandler(void)
{       
Pen_Point.Key_Sta=Key_Down;//按键按下       
EXTI->R=1<<1;  //清除LINE1上的中断标志位 

//PEN中断设置  
void en_Int_Set(u8 en)
{
if(en)EXTI->IMR|=1<<1;   //开启line1上的中断   
else EXTI->IMR&=~(1<<1); //关闭line1上的中断    
}
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-23 23:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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