STM32中按键中断分析

本文详细介绍了STM32中如何配置按键中断,包括EXTI初始化、NVIC中断优先级设置和中断服务函数的编写。通过中断控制器NVIC和EXTI结构体配置,实现中断触发模式和中断优先级的设定。中断服务函数中,重点是检查中断标志位并清除,以确保程序的正常执行。STM32库函数简化了中断编程,使得复杂任务变得易于处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在按键学习中,我们有用到查询的方法来判断按键事件是否发生,这种查询按键事件适用于程序工作量较少的情况下,一旦程序中工作量较大较多,则势必影响程序运行的效率,为了简化程序中控制的功能模块的执行时间,引入中断控制就很有必要,,一旦有中断时间发生,则程序立马跳转到中断向量的执行程序中,执行完成后就恢复到正常的程序状态。

在STM32F中采用中断控制器NVIC来设定中断。按照中断初始化配置的结构体文件,我们需要在NVIC初始化结构体配置如下:

void EXti_PB12_Config(void)

{

//定义结构体

GPIO_InitTypeDef GPIO_InitStructure;

EXTI_InitTypeDef EXTI_InitStructure;

//开启外设时钟

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);

NVIC_Configuration();

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;

GPIO_Init(GPIOB, &GPIO_InitStructure);

// 中断向量模式(PB12)

GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource12);

//给中断向量成员赋值,这是因为PB12连接到EXTI_Line12;

EXTI_InitStructure.EXTI_Line = EXTI_Line12;

//设置中断触发模式,通过这个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值