# uno-button **Repository Path**: cedardiao/uno-button ## Basic Information - **Project Name**: uno-button - **Description**: No description available - **Primary Language**: C++ - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-12-02 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Arduino Button Lib === # 1.硬件接口 - **UNO_D4/D5/D6/D7** 4个按键输入,默认上拉,检测到低电平(持续超过100毫秒)后,认为按键有按下 # 2.程序参数 - **DEBUG_LOG_ENABLE** 开启串口调试信息输出。 # 3. button库使用说明 1. *button.h*里 **MAX_BUTTON_NUM** 是允许的最大按键数,理论上,为了保证IO的利用率,大于6个按键时就应该用矩阵扫描式键盘,而不适合用单IO按键方案。 2. ***BUTTON_DEBOUNCE_MS*** 用来配置去抖时间,IO上的电平拉低的持续时间必需大于这个时间才被视为按下。 3. ***button_init*** 初始化了按键的IO,第一个参数时按键的个数,第二个参数是每个按键对应的IO号。 4. ***is_button_hit*** 用于判断是否有一个或多个按键按下。 4. ***is_any_button_hit*** 用于判断是否有任意按键按下。 6. ***button_get*** 用于读出特定的按键,当按键被读出后,按键的按下状态就被清除掉了。 7. ***button_polling*** 轮询按键状态的接口,需要放在loop里,每次loop都需要调用它。 ***注意:*** loop里不应有阻塞操作,需要保证loop里是顺畅运行的,否则按键事件不能被及时侦测到。 # 4. 测试 当连接在D4,D5,D6,D7上的按键被按下而短地时,在串口上会输出按键相关的日志。