# button **Repository Path**: w800_sdk/button ## Basic Information - **Project Name**: button - **Description**: 按键服务组件,支持通过GPIO和ADC控制。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: v7.3.3 - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2020-10-09 - **Last Updated**: 2023-04-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 概述 一个c语言实现的按键服务组件,支持单击、双击、长按、松开、自动消抖,可以自由设置组合按键,可用于GPIO及ADC类型按键。 ## 接口定义 ```C int button_srv_init(void) ``` 按键服务初始化 - 返回值: - 成功返回0,失败返回-1 ```C int button_init(const button_config_t b_tbl[]) ``` 单按键列表初始化 - 参数 - b_tbl :单按键列表 - 返回值: - 成功返回0,失败返回-1 ```c typedef struct button_config { int pin_id; //按键 pin id int evt_flag; //订阅的按键事件类型 evt_cb cb; //按键事件用户回调函数 void *priv; //按键事件用户回调函数的自定义参数 int type; //按键类型 char name[MAX_BUTTON_NAME]; //按键名 } button_config_t; ``` ```c #define PRESS_DOWN_FLAG (1<