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)
|