OpenEdv-开源电子网

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

想在触摸屏按下之后做一个死循环,在按下返回键是从死循环里推出

[复制链接]

5

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
68
金钱
68
注册时间
2019-8-8
在线时间
27 小时
发表于 2020-3-25 16:38:54 | 显示全部楼层 |阅读模式
10金钱
我在做一个简单的界面,不用操作系统,触摸屏按下之后就可以进入参数检测界面,里面一直进行参数的检测,检测的时候按返回就可以退出返回主界面,为什么我做的时候有时候触摸屏按下了没有反应,得按下十几次才能成功一次。能够帮忙解决一下,或者提供别的思路么?

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

使用道具 举报

5

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
68
金钱
68
注册时间
2019-8-8
在线时间
27 小时
 楼主| 发表于 2020-3-25 16:40:57 | 显示全部楼层
  1. <div class="blockcode"><blockquote>void ctp_test(void)
  2. {
  3.                         tp_dev.scan(0);               
  4.                         switch(menu)
  5.                         {
  6.                                 case 1:        
  7.                                                         if(tp_dev.x[0]>225&&tp_dev.x[0]<525&&tp_dev.y[0]>130&&tp_dev.y[0]<200)//进入1界面
  8.                                                                 {
  9.                                                                
  10.                                                                         Menu_RES();
  11.                                                                         while(back_flag1)//循环检测
  12.                                                                         {
  13.                                                                                 tp_dev.scan(0);
  14.                                                                                 if(tp_dev.x[0]>600&&tp_dev.x[0]<790&&tp_dev.y[0]>400&&tp_dev.y[0]<470)//返回
  15.                                                                                 {
  16.                                                                                         menu=2;
  17.                                                                                         back_flag1=0;
  18.                                                                                         break;
  19.                                                                                 //        Menu_Main();
  20.                                                                                 }
  21.                                                                                         TEST1();       
  22.                                                                         }                                                                                                       
  23.                                                                                        
  24.                                                                 }
  25.                                                         if(tp_dev.x[0]>225&&tp_dev.x[0]<525&&tp_dev.y[0]>230&&tp_dev.y[0]<300)//进入2界面
  26.                                                                 {
  27.                                                                         Menu_Wave();
  28.                                                                         while(back_flag2)
  29.                                                                         {
  30.                                                                                 if(back_flag2==0)break;
  31.                                                                                 tp_dev.scan(0);
  32.                                                                                 if(tp_dev.x[0]>600&&tp_dev.x[0]<790&&tp_dev.y[0]>410&&tp_dev.y[0]<470)//返回
  33.                                                                                         {
  34.                                                                                                 menu=2;
  35.                                                                                                 back_flag2=0;
  36.                                                                                
  37.                                                                                                 break;
  38.                                                                                         }               
  39.                                                                                 if(tp_dev.x[0]>470&&tp_dev.x[0]<590&&tp_dev.y[0]>410&&tp_dev.y[0]<470)//开始
  40.                                                                                 {
  41.                                                                                                 Test2();
  42.                                                                                                 while(finish_flag2)
  43.                                                                                                 {
  44.                                                                                                         tp_dev.scan(0);
  45.                                                                                                         if(tp_dev.x[0]>600&&tp_dev.x[0]<790&&tp_dev.y[0]>410&&tp_dev.y[0]<470)//返回
  46.                                                                                                         {
  47.                                                                                                                 menu=2;
  48.                                                                                                                 back_flag2=0;
  49.                                                                                                                 finish_flag2=0;
  50.                                                                                                                 break;
  51.                                                                                                         }       
  52.                                                                                                 }
  53.                                                                                 }
  54.                                                                         }       
  55.                                                                 }
  56.                                                         if(tp_dev.x[0]>225&&tp_dev.x[0]<525&&tp_dev.y[0]>330&&tp_dev.y[0]<400)//进入3界面
  57.                                                                 {
  58.                                                                         Menu_Circuit();
  59.                                                                         while(back_flag3)//循环检测
  60.                                                                         {
  61.                                                                                 tp_dev.scan(0);
  62.                                                                                 if(tp_dev.x[0]>600&&tp_dev.x[0]<790&&tp_dev.y[0]>400&&tp_dev.y[0]<470)//返回
  63.                                                                                 {
  64.                                                                                         menu=2;
  65.                                                                                         back_flag3=0;
  66.                                                                                         break;
  67.                                                                                 }       

  68.                                                                                         Test();

  69.                                                                                
  70.                                                                         }               
  71.                                                                 }
  72.                                                         break;
  73.                                                         case 2:
  74.                                                                                 if(tp_dev.x[0]>225&&tp_dev.x[0]<525&&tp_dev.y[0]>130&&tp_dev.y[0]<200)//进入1界面
  75.                                                                                         {
  76.                                                                                                 Menu_RES();
  77.                                                                                                 menu=1;       
  78.                                                                                                 back_flag1 = 1;
  79.                                                                                         }
  80.                                                                                         if(tp_dev.x[0]>225&&tp_dev.x[0]<525&&tp_dev.y[0]>230&&tp_dev.y[0]<300)//进入2界面
  81.                                                                                         {
  82.                                                                                                 Menu_Wave();
  83.                                                                                                 menu=1;
  84.                                                                                                 back_flag2=1;
  85.                                                                                         }
  86.                                                                                         if(tp_dev.x[0]>225&&tp_dev.x[0]<525&&tp_dev.y[0]>330&&tp_dev.y[0]<400)//进入3界面
  87.                                                                                         {
  88.                                                                                                 Menu_Circuit();
  89.                                                                                                 menu=1;
  90.                                                                                                 back_flag3=1;
  91.                                                                                                
  92.                                                                                         }
  93.                                                                                         if(tp_dev.x[0]>600&&tp_dev.x[0]<790&&tp_dev.y[0]>400&&tp_dev.y[0]<470)
  94.                                                                                         {
  95.                                                                                                 Menu_Main();
  96.                                                                                                 back_flag1=0;                                                                                       
  97.                                                                                         }
  98.                                                                                         break;                                                                                       
  99.                                                 }                               
  100. }
复制代码

回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2020-3-26 01:03:09 | 显示全部楼层
仿真找问题
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-23 15:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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