搜索
bottom↓
回复: 25

【请教】单片机的菜单,用C语言各位一般是怎么写的?

[复制链接]

出75入90汤圆

发表于 2019-6-17 21:47:37 | 显示全部楼层 |阅读模式
一直以来都是用switch 来写,写完只有代码段拉长的很长,很不方便修改、查看。
想请教下各位一般是怎么写菜单构架的?或者推荐点资料学习一下。谢谢!
我写的框架大致如下。
void menu(void)
{   
        switch(FuncCode)
        {
                case menu1:
                        switch(FuncCode)
                        {
                                case menu1_1:
                                        //此处省略500行
                                        break;
                                case menu1_2:
                                        //此处省略500行
                                        break;
                                case menu1_3:
                                        //此处省略500行                       
                                        break;
                                }
                        break;
                case menu2:
                        switch(FuncCode)
                        {
                                case menu2_1:
                                        //此处省略500行       
                                        break;
                                case menu2_2:
                                        //此处省略500行       
                                        break;
                                case menu2_3:
                                        //此处省略500行       
                                        break;
                                }
                        break;
                case menu3:
       
                        break;
                }
        }

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2019-6-17 22:03:21 来自手机 | 显示全部楼层
想写的好 需要用到面向对象思想,cpp多态和继承

出75入90汤圆

 楼主| 发表于 2019-6-17 22:06:37 | 显示全部楼层
tianheyun12 发表于 2019-6-17 22:03
想写的好 需要用到面向对象思想,cpp多态和继承

谢谢,你说的名词一个都没有听过,要学的东西太多,干脆不学,就这么地算了,反正也能达到目的。

出0入4汤圆

发表于 2019-6-17 22:34:01 | 显示全部楼层
翻翻傻孩子的帖子

出10入23汤圆

发表于 2019-6-17 22:35:49 来自手机 | 显示全部楼层
翻翻我的帖子,绝对有惊喜

出0入442汤圆

发表于 2019-6-17 22:40:01 来自手机 | 显示全部楼层
用字符串去填menu,然后用case去执行。。

出0入0汤圆

发表于 2019-6-17 22:53:35 | 显示全部楼层
本帖最后由 cslrd 于 2019-6-17 23:18 编辑

可以看一下这个贴
https://www.amobbs.com/forum.php ... B%E8%8F%9C%E5%8D%95
贴主写了一个PPT介绍傻孩子菜单的结构

出0入0汤圆

发表于 2019-6-17 23:02:45 | 显示全部楼层
结构体+开数组缓存+查表+函数指针 可以做出很好的菜单 基本不用CASE切换

出0入0汤圆

发表于 2019-6-17 23:45:12 | 显示全部楼层
结构体+指针就能很轻松做到,不用switch

出0入0汤圆

发表于 2019-6-18 01:34:35 | 显示全部楼层
结构体 函数指针 链表

出0入0汤圆

发表于 2019-6-18 02:46:44 来自手机 | 显示全部楼层
这几天也在学习菜单结构

出0入0汤圆

发表于 2019-6-18 08:25:36 | 显示全部楼层
要善于利用坛内资源。
前人造了很多成功的轮子,拿来用就成。

出100入0汤圆

发表于 2019-6-18 08:27:45 | 显示全部楼层
傻孩子的菜单技术不错,已经在实际产品中应用

出10入23汤圆

发表于 2019-6-18 08:30:23 | 显示全部楼层
https://www.amobbs.com/thread-5670258-1-1.html

出100入143汤圆

发表于 2019-6-18 08:39:06 | 显示全部楼层
https://www.amobbs.com/forum.php ... amp;_dsign=14820d69
在LCD12864一类菜单上,一直用的这个架构,很好用,结构清晰

出75入90汤圆

 楼主| 发表于 2019-6-18 10:25:05 | 显示全部楼层
非常感谢各位指点。

出0入0汤圆

发表于 2019-6-18 10:27:27 | 显示全部楼层
串口屏了解一下

出0入0汤圆

发表于 2019-6-18 20:18:50 | 显示全部楼层
一直没弄过菜单,看过不少都是用结构体弄得,感觉理解的挺费劲。去年结合4.3寸的串口MODBUS协议组态屏搞了由5个实体按键(项目需要)的菜单屏。也是用的SWITCH ,每个常量分支对应的是一个界面,里面有界面的实现函数。是否我实现的也有点复杂

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2019-6-19 10:06:47 | 显示全部楼层
数据要和逻辑分离,这样就好改了

出0入0汤圆

发表于 2019-6-19 12:34:22 | 显示全部楼层
要看资源量

出0入0汤圆

发表于 2019-6-19 22:06:15 | 显示全部楼层
XIUQIN 发表于 2019-6-18 20:18
一直没弄过菜单,看过不少都是用结构体弄得,感觉理解的挺费劲。去年结合4.3寸的串口MODBUS协议组态屏搞了 ...

蓝色的界面图片是用什么软件画的?

出0入0汤圆

发表于 2019-6-19 22:06:50 | 显示全部楼层
zpywz 发表于 2019-6-18 10:25
非常感谢各位指点。

强烈推荐15楼的菜单,我好几个项目也是用这个菜单的

出0入0汤圆

发表于 2019-6-19 22:53:37 来自手机 | 显示全部楼层
高人真多,谢谢资料!

出0入0汤圆

发表于 2019-6-20 06:47:29 来自手机 | 显示全部楼层
bad_fpga 发表于 2019-6-19 22:06
蓝色的界面图片是用什么软件画的?

看着就是office

出0入0汤圆

发表于 2019-6-20 20:40:16 | 显示全部楼层
bad_fpga 发表于 2019-6-19 22:06
蓝色的界面图片是用什么软件画的?

visio  用来做简单的界面还不错
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-27 08:38

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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