想实现一个类似设置模式的设计,求指点思路。

2019-08-14 07:37发布

想实现一个设计模式,实现的功能就是 按set键进入设置模式,按上下键调节值的大小,再按set键完成参数设置,并进入下一个参数的设置。
我的思路是这样的:
主架构分为三部分:
1、管理函数:
     只调用switch(x)    x初始值为0
               case 0: 设置参数1的函数;break;
               case 1: 设置参数2的函数;break ;
               default: x=0 ;
2、设置参数1的函数:
     while(1)循环
          {
            显示要设置的数据;
            等待键值;
            判断键值进行操作;
                  上下键设置值的大小;
                  set键完成设置并调用 管理函数且x的值+1;
           }
2、设置参数2的函数:
     主体和设置参数1的函数一致,不做赘述;

以上是我写的代码的思路,但是发现无法实现,仅仅切换就有问题,具体现象是,切换到设置参数2后,按set键并没有回到设置函数1的函数,而是卡在这,但是x值已经变了,也调用了管理函数,为什么回不去呢?求指点,或者给指引一条其他的思路都可以。。拜托各位!!!已经多次修正测试好几天了,依旧无果。。想看代码的留言,怕大家看不下去,遂暂时不留代码。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
q247341184
2019-08-15 02:14
魑魅魍魉 发表于 2017-8-17 10:11
其实我也有写这种的想法,只是一直没做。我也不知道你的函数是什么,我就把我的思路说一下吧:
    你是用 ...

我分两部分回答你吧;
1、就是你提供的思路,我如果没理解错的话,你的意思就是每一个按键控制一个参数的设置,按1进入参数1的设置,按2进入参数2的设置,对吧?我相信这样是没问题的,但是我觉得按键太多了,不太符合我目前想做的这么个小玩意的思路,我只是想就好像小时候的那个电子表一样,set键设置时间,set键设置日期,set键回归原位。这是我的目标;
2、你提供的思路我也有想到过,但是现象是可以进入死循环,却回不了界面1,两个界面的话问题还不是很大,但是一旦超过两个,假设我有4个界面,就只能在2-4界面来回切换,所以我找不到我哪的逻辑有问题。我之前用c语言编辑模拟了一下也是相同的结果。而且这么写的方式及其不稳定,用c模拟的时候次数达到足够多的数量程序就崩溃了,所以我感觉在stm32上应该也有一样的隐患。所以我才选择看看能不能找一个其他的思路。

一周热门 更多>