没有合适的资源?快使用搜索试试~ 我知道了~
首页前面板LCD菜单显示框架
资源详情
资源评论
资源推荐

概况:
完整的前面板系统包括:LCD屏显示、按键和状态灯显示。
关于按键驱动以及LCD屏驱动这里就不做说明了。本实例重点介绍如何搭建LCD菜单显示框
架,利用函数指针和状态机操作机制,能灵活、快速地增删功能子菜单,主调用端不用再担
心该调用谁,具体细节该怎么处理,只需开启线程阻塞监测状态机的状态改变事件,事件一
旦触发就会从阻塞状态进入统一的函数接口调用,再根据功能ID自己去调用具体的菜单显
示。这样,后续增加功能子菜单,只需要注册相应的功能ID以及对应的处理函数,然后按键
操作更新状态机,并事件告知主调用端即可实现相应的功能菜单显示。
本实例的核心编程思想:“我要调用它改为它要被调用”,其实就是不一样的编程思维,从面
向过程到面向对象的C编程示例。
详细流程:
(1)注册状态机,由前面板的按键修改
声明一个状态机,如:
typedefstructSTATE_MACHINE
{
boolbBackLightEnFlg;//背光灯是否开启
EN_PRESSKEYkeyType;//按键类型:上、下、左、右、确认、返回、复位
eMenuLevelMenuLevel;//菜单级别:一、二、三、四、五级等
EN_MENUITEMMenuItem;//具体菜单选项,匹配相应的显示回调函数
boolbIsLevChg;//菜单级别是否改变
U8u8CurLineCount;//当前菜单有多少行
U8u8LastLineCount;//记录上一级菜单有多少行
U8u8CurIndx;//当前菜单反选索引
U8u8LastIndx;//记录上一级菜单反选索引
boolbCurEditLock;//当前编辑锁定,确认键按下时才释放
boolbStateUpdateStart;//启动状态页面定时刷新
}ST_STATE_MACHINE;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18


















jiaqian2756
- 粉丝: 10
- 资源: 11
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
最新资源
- Xilinx SRIO详解.pptx
- Informatica PowerCenter 10.2 for Centos7.6安装配置说明.pdf
- 现代无线系统射频电路实用设计卷II 英文版.pdf
- 电子产品可靠性设计 自己讲课用的PPT,包括设计方案的可靠性选择,元器件的选择与使用,降额设计,热设计,余度设计,参数优化设计 和 失效分析等
- MPC5744P-DEV-KIT-REVE-QSG.pdf
- 通信原理课程设计报告(ASK FSK PSK Matlab仿真--数字调制技术的仿真实现及性能研究)
- ORIGIN7.0使用说明
- 在VMware Player 3.1.3下安装Redhat Linux详尽步骤
- python学生信息管理系统实现代码
- 西门子MES手册 13 OpcenterEXCR_PortalStudio1_81RB1.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论0