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

QQ登錄

只需一步,快速開始

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

單片機(jī)LCD屏幕多級(jí)菜單程序設(shè)計(jì) 大家有沒有好用的框架?我之前都是用swtich

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:646520 發(fā)表于 2023-4-27 16:45 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
各位大佬好,最近想學(xué)習(xí)單片機(jī)LCD的多級(jí)菜單C語言程序設(shè)計(jì),大家有沒有好用的框架,我之前都是用swtich,每操作一步都會(huì)進(jìn)如另一個(gè)case,感覺很臃腫。大家平時(shí)都是怎么設(shè)計(jì)的,可以傳授一些相關(guān)的經(jīng)驗(yàn)給我嗎?感謝。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:61207 發(fā)表于 2023-4-28 09:29 | 只看該作者
用結(jié)構(gòu)體呀
回復(fù)

使用道具 舉報(bào)

板凳
ID:584814 發(fā)表于 2023-4-28 10:16 | 只看該作者
直接買個(gè)HEX,只有一個(gè)文件很清爽
回復(fù)

使用道具 舉報(bào)

地板
ID:123289 發(fā)表于 2023-4-28 10:45 | 只看該作者
1、給每個(gè)界面設(shè)置一個(gè)結(jié)構(gòu)參數(shù),用于記錄本界面顯示的特性、內(nèi)容、界面序號(hào)。
2、設(shè)立一個(gè)界面序記錄器NOW_PAGE,表示當(dāng)前執(zhí)行的是哪個(gè)界面。
3、設(shè)置一個(gè)界面層次記錄區(qū)(如8個(gè)單元,可記錄8層界面深度):
每新開一個(gè)界面時(shí),就記錄下這個(gè)界面的序號(hào),并將這個(gè)界面號(hào)存入NOW_PAGE,再指向下個(gè)記錄號(hào),以便再有新的界面到來使用。注意保存當(dāng)前記錄的界面結(jié)構(gòu),以便恢復(fù)顯示。
每退出一個(gè)界面時(shí),就將上個(gè)記錄號(hào)存入NOW_PAGE,再將記錄號(hào)前移一個(gè),如是已到最頭,就不移了。
4、程序根據(jù)NOW_PAGE的值,調(diào)取這個(gè)界面的結(jié)構(gòu)參數(shù)刷新界面(也即做恢復(fù)顯示)。
這樣就不會(huì)亂了,而且前,退自如,并能保證顯示正確(需要恢復(fù)什么,必須在新界顯示前記錄于結(jié)構(gòu)中)。
妙不妙?
編程序在于架構(gòu)如何解決問題,而不是寫語句。
回復(fù)

使用道具 舉報(bào)

5#
ID:123289 發(fā)表于 2023-4-28 10:47 | 只看該作者
構(gòu)思界面處理方案,與你用什么語句無關(guān),而是用腦子。畫出邏輯框圖,看看框圖是否解釋得通。
回復(fù)

使用道具 舉報(bào)

6#
ID:646520 發(fā)表于 2023-4-28 16:30 | 只看該作者
yzwzfyz 發(fā)表于 2023-4-28 10:45
1、給每個(gè)界面設(shè)置一個(gè)結(jié)構(gòu)參數(shù),用于記錄本界面顯示的特性、內(nèi)容、界面序號(hào)。
2、設(shè)立一個(gè)界面序記錄器NO ...

嗯嗯,受教了,感謝。
回復(fù)

使用道具 舉報(bào)

7#
ID:403593 發(fā)表于 2023-4-28 19:38 | 只看該作者
用if...else的默默飄過。。。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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