头文件
#ifndef __KEY_H__
#define __KEY_H__
#include "stm32mp1xx_gpio.h"
#include "stm32mp1xx_exti.h"
#include "stm32mp1xx_gic.h"
#include "stm32mp1xx_rcc.h"
//key1->pf9
//初始化RCC和GPIO章节
void hal_gpio_key1(void);
//初始化EXTI章节
void hal_key1_exti_it(void);
//初始化GICD章节
void hal_key1_gicd_it(void);
//初始化GICC章节
void hal_key1_gicc_it(void);
#endif
源文件
#include "key.h"
//初始化RCC和GPIO章节
void hal_gpio_key1(void)
{
//使能
RCC->MP_AHB4ENSETR |= (0x1<<5);
//key1
GPIOF->MODER &= (~(0x3<<18));
//key2
GPIOF->MODER &= (~(0x3<<14));
//key3
GPIOF->MODER &= (~(0x3<<16));
}
//初始化EXTI章节
void hal_key1_exti_it(void)
{
//**************************key1**********************
//选择GPIO接口和哪个EXTI控制器连接
EXTI->EXTICR3 &= (~(0xff<<8));
EXTI->EXTICR3 |= (0x5<<8);