单片机
返回首页

STM32之旅2——按键

2024-08-13 来源:cnblogs

    几乎每个项目都有用到按键,为了避免以后在做大项目的时候还在琢磨按键怎么写,现在写一个,方便以后使用。这里是最简单的独立按键驱动方法,和学习51单片机是的一样,更好的方法以后再慢慢补充。


按键驱动

drv_key.h:


#ifndef __DRV_KEY_H

#define __DRV_KEY_H


#define RESET 0

#define SET 1


#define WK_UP_PIN GPIO_PIN_0

#define WK_UP_PORT GPIOA


#define KEY1_PIN GPIO_PIN_5

#define KEY1_PORT GPIOC

#define KEY2_PIN GPIO_PIN_15

#define KEY2_PORT GPIOA


#define WK_UP HAL_GPIO_ReadPin(WK_UP_PORT,WK_UP_PIN)

#define KEY1 HAL_GPIO_ReadPin(KEY1_PORT,KEY1_PIN)

#define KEY2 HAL_GPIO_ReadPin(KEY2_PORT,KEY2_PIN)


void key_scan(void);


#endif

drv_key.c:


#include 'stm32f1xx.h'

#include 'drv_led.h'

#include 'drv_key.h'


void key_scan(void)

{

if(RESET == KEY1)

{

HAL_Delay(10); //消抖

if(RESET == KEY1)

{

/********事件区***********/

LED1_ON;

/********事件区***********/

while(RESET == KEY1); //松手反应

}

}


if(RESET == KEY2)

{

HAL_Delay(10); //消抖

if(RESET == KEY2)

{

/********事件区***********/

LED2_ON;

/********事件区***********/

while(RESET == KEY2); //松手反应

      }

}

}


进入单片机查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

  • 直播回放: Microchip Timberwolf™ 音频处理器在线研讨会

  • 基于灵动MM32W0系列MCU的指夹血氧仪控制及OTA升级应用方案分享

精选电路图
  • 1瓦线性调频增强器

  • 家用电器遥控器

  • 12V 转 28V DC-DC 变换器(基于 LM2585)

  • 红外开关

  • DS1669数字电位器

  • HA1377 桥式放大器 BCL 电容 17W(汽车音频)

    相关电子头条文章