(求教)用导航旋钮控制菜单,应如何设计TFT屏的多级菜单

2020-02-05 09:22发布

   最近在做项目,用单片机,可以通过导航旋钮控制TFT屏上的菜单,但是导航旋钮只有正转(下键)和反转(上键)和按下,现在这个按下键要同时用作确定键与返回键,
好像只有通过在屏上标记“上一页”与“下一页”并选中才可以,但是这个应该如何写代码实现呢?
    希望各位高手给些思路,如何区分是按下时,是“上一页”还是“下一页”。。。。。。


在论坛中搜索了下,大多是通过结构体来实现,有四个键,但是我这个只有三个键的真是不知道如何实现啊。求指导~~~~~


下面是方向判断程序



/**************************************************************************

旋转判断程序

*************************************************************************/
  void scan_encoder(void)
{  
           static  bit  Curr_encoder_b;  //定义一个变量来储存当前B信号
          static  bit  Last_encoder_b;  //定义一个变量来储存上次B脚信号
           static  bit  updata= 0;

           if( BMA && BMB)           //编码器无转动退出
           {
             updata = 0;
             return;
           }

           Last_encoder_b = BMB;       //记录B信号

           while(!BMA)  //等待A由低变高.while(!BMA) 的作用:当a为0时,!a为真,执行循环体。当a为1时,!a为假,程序就跳过循环体往下执行。
           {
             Curr_encoder_b = BMB;     //记录等待期间的B信号(指当前B信号)
             updata = 1;
           }

           if(updata)
           {
                   updata = 0 ;
                 if( (Last_encoder_b == 1)&&(Curr_encoder_b== 0) ) //B从1到0为正转

             {
                        flag='1';
                        i=0;
                        delayms(1) ;
             }
                else if( (Last_encoder_b == 0)&&(Curr_encoder_b == 1) ) //B从0到1为反转
             {
                        flag='2' ;
                        i=0;
                        delayms(1);
                 }
           }

          if(! BMC)                            //当按下旋钮时
           {               
                  flag='3';
                i=0;        
                   delayms(1);
           }
}

  项目做出来,一定分享哈~~~~


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
fly_02827
1楼-- · 2020-02-05 10:45
本人没做过多级菜单,很感兴趣
renshaoshuai
2楼-- · 2020-02-05 16:25
重点是如何用按下键同时用作确定键与返回键
renshaoshuai
3楼-- · 2020-02-05 22:02
fly_02827 发表于 2012-5-17 08:27
本人没做过多级菜单,很感兴趣

本论坛里有很多的例子,就是对于一个按键两个用途的事情比较恼火,不知道从哪里入手
marshallemon
4楼-- · 2020-02-06 00:38
上下只起到本页菜单的条项切换,把返回也做到菜单上,指向该项按下就返回,指向其他条项,按下进入该条项的子菜单
fly_02827
5楼-- · 2020-02-06 01:07
 精彩回答 2  元偷偷看……

一周热门 更多>