1、介绍
在上一篇文章中说的【触控控件】中,我们已经知道在 C51 代码中来判断按钮按下可以在 while 主循环中调用sys_read_vp(START_WIN_BTN_ADDR,(u8*)&btn_val,1) 函数进行轮询,这种方式可能会造成主循环阻塞,效率不高,所以我们本篇就针对此种情况来做一个小型的按钮响应处理框架。
此框架的大致原理是先利用定时器来产生一个按钮点击扫描信号is_btn_scan,此扫描信号的周期为30ms,当然了周期值我们可以随意设置,建议值在10ms-50ms之间,既兼顾到了按钮点击响应的时效性,也兼顾到了最少的CPU占用量,当我们的 is_btn_scan 扫描信号到了之后,我们就用sys_read_vp函数进行读取按钮键值的操作,如果读取到的键值不为0的话,说明用户点击了界面上的按钮,接下来就是对此按钮点击操作立即进行事件响应,我们根据按钮键值划分范围,将此按钮产生的点击事件派发给相应的界面进行处理,处理完成之后,我们再将键值给清0即可。
2、例程功能简介
我们在“0启动界面”上放置一个【数据变量显示控件】和三个【按键返回控件】,这三个【按键返回控件】分别叫做“减少”, “