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); //松手反应
}
}
}
上一篇:STM32之旅4——USART
下一篇:STM32之旅1——LED
- 意法半导体中国本地造STM32微控制器启动规模量产
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 基于机智云与STM32的智能拐杖安全监测系统在养老物联网中的应用
- 内置全栈安全,一站式满足CRA法案与IEC 62443标准——米尔STM32MP257核心板
- 如何用 STM32 FLASH 实现等效 100 万次擦写的 EEPROM 功能?
- 实战解析:通过一个小项目掌握STM32所有外设
- STM32学了两年半,却还是不会做项目
- 意法半导体推出最新STM32MP21微处理器,兼具高性价比、低功耗、高灵活性
- 基于STM32的矿井作业环境监测系统设计与实现
- 六大全新产品系列推出,MCX A微控制器家族迎来创新
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 模组复用与整机重测在SRRC、CCC、CTA/NAL认证中的实践操作指南
- 有源晶振与无源晶振的六大区别详解
- 英飞凌持续巩固全球微控制器市场领导地位
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 从控制到系统:TI利用边缘AI重塑嵌入式MCU的边界
- 蓝牙信道探测技术原理与开发套件实践
- Microchip 推出生产就绪型全栈边缘 AI 解决方案,赋能MCU和MPU实现 智能实时决策
- LoRa、LoRaWAN、NB-IoT与4G DTU技术对比及工业无线方案选型分析




