- 准备工程,此例程在以下链接的例程的基础上添加的按键扫描功能
https://blog.csdn.net/mygod2008ok/article/details/106954917
- 新建BSP_key.c和BSP_key.h并加入到工程
- BSP_key.c的内容如下
/**
* @file BSP_key.c
* @author jzhou
* @version V1.0
* @date 11-Nov-2019
* @copyright Chileaf LTD
* @brief 按键扫描模块
* 实现单按键或多按键的短按,长按,短按松开,长按松开等键值
*/
#include "BSP_key.h"
#include "BSP_pwm.h"
//###############################################################################################################################
/** @file
*
* @defgroup BSP_key file:BSP_key文件
* @{
* @ingroup BSP_key file
* @brief 按键扫描模块
* @details 按键功能处理,主要是产生按键键值
*/
//###############################################################################################################################
//-----------------------以下为按键引脚配置及初时化--------------------------
/**
*
* @brief 按键引脚配置信息初时化
*/
static const SCAN_KEY_INFO scan_key[] = {
{GPIOA,GPIO_PIN_12},
{GPIOA,GPIO_PIN_11},
};
/**
* @brief 获取键值
*/
static KEY_TYPE_VAR get_key_value(void)
{
KEY_TYPE_VAR KeyTemp = 0;
// 读按键IO电平状态
for(KEY_TYPE_VAR i=0; i
关注
打赏