描述:
当按键按下时,串口工具中显示哪一个按键被按下,同时灯的状态被改变
main.c
#include "key.h"
#include "gpio.h"
extern void printf(const char *fmt, ...);
void delay_ms(int ms)
{
int i,j;
for(i = 0; i < ms;i++)
for (j = 0; j < 1800; j++);
}
int main()
{
rcc_init();
key1init();
key2init();
key3init();
led_init();
printf("初始化成功\n\r");
while(1)
{
}
return 0;
}
key.h
#ifndef __KEY_H__
#define __KEY_H__
#include "stm32mp1xx_gpio.h"
#include "stm32mp1xx_exti.h"
#include "stm32mp1xx_gic.h"
#include "stm32mp1xx_rcc.h"
//key1init
void key1init();
//key2init
void key2init();
//key3init
void key3init();
//RCC章节初始化
void rcc_init();
//GPIO_KEY1初始化 KEY1----->PF9----->检测方式:下降沿按键触发
void key1_pf9_init();
//GPIO_KEY2初始化 KEY2----->PF7----->检测方式:下降沿按键触发
void key2_pf7_init();
//GPIO_KEY3初始化 KEY3----->PF8----->检测方式:下降沿按键触发
void key3_pf8_init();
//EXTI章节初始化
void exit_key1_init();
void exit_key2_init();
void exit_key3_init();
//GIC层章节初始化
void gic_key1_init();
void gic_key2_init();
void gic_key3_init();
#endif
key.c
#include "key.h"
//key1init
void key1init()
{
key1_pf9_init();