分享一个不错的【程序框架】+【按键状态机】+【LED状态机】程序

2019-07-20 22:17发布

本帖最后由 流年丶 于 2019-7-7 20:52 编辑

游客,如果您要查看本帖隐藏内容请回复
用了几年的前后台程序框架,稳定可靠,保证每次执行的任务都为最高优先级任务,楼下会对该程序框架做一些说明。
按键状态机:支持短按,长按,双击处理,程序简洁,简单易懂。
LED状态机:支持各个频率的LED闪烁,常亮,常暗操作。
注:该程序是从 基于2G通讯项目中截取下来的两个模块,项目源码不好分享,有兴趣可以加我Q:842936992
//本程序只供学习使用,未经作者许可,不得用于其它任何用途
//引用请注明出处,有问题可在本帖中提出讨论,也可加我Q一起交流探讨



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
49条回答
流年丶
2019-07-21 18:37
重构后的LED配置函数
/*****************************************************************************
Function name : APP_LED_LightDarkConfig
Description: APP LED模块配置函数,通过调用该函数来操作LED实现各种功能
Input:
       LedId->LED编号
       OpMode->操作模式APP_LED_OFF/APP_LED_ON;
       ulTimeOut->当OpMode选择APP_LED_ON时,亮灯的时间,~0表示一直亮灯;
Return: NONE     
Notes:
******************************************************************************/

#define APP_LED_LightDarkConfig(LedId, OpMode, ulTimeOut)   APP_LED_Config(LedId, OpMode, ulTimeOut, 0, 0)

/*****************************************************************************
Function name : APP_LED_FlickerConfig
Description: APP LED模块配置函数,通过调用该函数来操作LED实现各种功能
Input:
       LedId->LED编号
       usPeriod->当OpMode选择APP_LED_FLASH时,闪烁的周期;
       ucTime->当OpModeÑ选择APP_LED_FLASH时,闪烁的次数,ucTime为U8类型,取值255表示一直闪烁;
Return: NONE     
Notes:
******************************************************************************/

#define APP_LED_FlickerConfig(LedId, usPeriod, ucTime)      APP_LED_Config(LedId, APP_LED_FLASH, 0, usPeriod, ucTime)

一周热门 更多>