STM32-嵌入式学习笔记02-中断应用概述

STM32中断非常强大,每个外设都能产生中断

中断的优先级数值越小,说明他的中断优先级越高

配置中断需要了解NVIC寄存器:

    NVIC是嵌套向量中断控制寄存器,控制中断的相关功能;它与内核紧密结合,是内核里的一个外设。管理着包括内核和片上的所有外设的中断相关功能。

因此配置中断需要参考下面两个头文件:core_cm3.h 和  misc.h

在配置中断的时候我们一般只配置ISER和ICER IP这3个寄存器:

1)ISER使能中断

2)ICER清除中断

3)设置中断的优先级

给出官方手册寄存器的资料

编程要领:

1)使能中断请求(外设中某个中断)

2)配置优先级分组

3)配置NVIC寄存器  初始化NVIC结构体

4)编写中断函数

static void EXTI_NVIC_Config(void)
{
	NVIC_InitTypeDef NVIC_InitStructure;
	//配置NVIC为优先组1
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
	//配置中断源:按键1
	NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn ;
	//配置抢占优先级:1	
	NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
	//配置子优先级:1
	NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1 ;
	//使能中断通道
	NVIC_InitStructure.NVIC_IRQChannelCmd  = ENABLE ;

	NVIC_Init(&NVIC_InitStructure);
}

猜你喜欢

转载自blog.csdn.net/weixin_41445387/article/details/82817654