标题:
stm32按键检测程序-外部中断(EXTI)
[打印本页]
作者:
tthfh
时间:
2025-4-14 14:49
标题:
stm32按键检测程序-外部中断(EXTI)
stm32按键
#include "stm32f10x.h" // Device header
#include "Delay.h"
#include "LED.h"
#include "Key.h"
uint8_t Num; //定义用于接收按键键码的变量
uint8_t ledCount = 0;
#define MAX_LEDS 5
void UpdateLEDs(void) {
for (uint8_t i = 0; i < MAX_LEDS; i++) {
if (i < ledCount) {
GPIO_ResetBits(GPIOA, 1 << i); // 点亮LED
} else {
GPIO_SetBits(GPIOA, 1 << i); // 熄灭LED
}
}
}
int main(void)
{
/*模块初始化*/
LED_Init(); //LED初始化
Key_Init(); //按键初始化
while (1)
{
Num = Key_GetNum(); //获取按键键码
if (Num == 1) //按键1按下
{
LED1_Turn();
//LED1翻转
}
if (Num == 2) //按键2按下
{ LED1_Turn();
LED2_Turn(); //LED2翻转
}
/*if (Num == 3) //按键2按下
{LED1_Turn();
LED2_Turn();
LED3_Turn(); //LED2翻转
}
if (Num == 4) //按键2按下
{LED1_Turn();
LED2_Turn();
LED3_Turn();
LED4_Turn(); //LED2翻转
}*/
if (Num == 3) //按键2按下
{if (ledCount < MAX_LEDS) {
ledCount++; // 增加LED数量
UpdateLEDs(); // 更新LED状态
} //LED2翻转
}
if (Num == 4) //按键2按下
{ if (ledCount >0) {
ledCount--; // 增加LED数量
UpdateLEDs(); // 更新LED状态
} //LED2翻转
}
}
}
原理图: 无
仿真: 无
代码:
按键检测一外部中断(EXTI).7z
(178.06 KB, 下载次数: 0)
2025-4-14 18:15 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
GlenXu
时间:
2025-6-6 09:01
注意PCB走线,STM32外部GPIO中断特别灵敏,容易收到外部干扰。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1