找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1428|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

問下大家關(guān)于單片機(jī)切換界面程序編寫思路?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:885416 發(fā)表于 2022-2-25 22:29 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
首先是單片機(jī)裸機(jī)編程在一個(gè)wihle循環(huán)里,有菜單,按下按鍵菜單會(huì)切換各種界面,在菜單里里有一些選項(xiàng)按下后會(huì)跳轉(zhuǎn)到某個(gè)游戲或者參數(shù)設(shè)置界面什么的,我現(xiàn)在思路是

int main()
{
    init();各種初始化函數(shù)
    while(1)
    {
         key=key_scan();//按鍵值獲取
         switch(oled_flag)
        {
             case 0:顯示菜單
             case 1:顯示游戲界面
             case 2:顯示參數(shù)設(shè)置參數(shù)
        }

    }
}
我想是在菜單顯示里oled_flag修改這個(gè)標(biāo)志位象上面一樣,還是把游戲或者設(shè)置參數(shù)那些功能直接寫成一個(gè)死循環(huán)函數(shù)
在菜單按下某個(gè)選項(xiàng)后直接跳轉(zhuǎn)到一個(gè)功能函數(shù),比如
int eat_snake()
{
   貪吃蛇某些變量
   while(1)
  {
      按鍵值獲取
       貪吃蛇功能函數(shù)
       貪吃蛇顯示界面刷新

   }
   return 1;
}
讓后游戲按下某些按鍵后直接退出死循環(huán)函數(shù),又回到顯示界面了,是那種比較好,還是大佬有好點(diǎn)思路參考
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:123289 發(fā)表于 2022-2-26 08:45 | 只看該作者
主體是這樣,這是任何人都能想到的。
在細(xì)節(jié)上,有許多要做:
1、標(biāo)記并記憶各層次的界,以例在退出當(dāng)面界面時(shí),能回到上次的界面。
2、標(biāo)記并記憶各層次的界,被切換時(shí)的現(xiàn)場(chǎng)參數(shù),以便返回后能夠繼續(xù)上次的工作。
3、有強(qiáng)行退出的方式,可以強(qiáng)制退出當(dāng)前界面。
4、……
多界面切換工作是比較高級(jí)的編程,有較高的難度。
需要設(shè)置許多標(biāo)記,來描述界面的各個(gè)時(shí)機(jī)、階段的現(xiàn)場(chǎng)。你在做的時(shí)候就會(huì)遇到了。試試吧,一試就會(huì)明白了。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表