STM32F1开发指南笔记5----STM32 NVIC中断优先级管理 & 寄存器地址名称映射分析

本文详细介绍了STM32F103的NVIC中断优先级管理,包括中断使能、除能、挂起、解挂和激活标志位寄存器。此外,还探讨了中断分组和优先级设置,并举例说明。同时,文章分析了MDK中STM32寄存器地址名称映射,解释了结构体如何与寄存器地址对应,以实现对STM32寄存器的操作。
摘要由CSDN通过智能技术生成

NVIC中断优先级管理

CM3内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且具有256级的可编程中断设置。但STM32并没有使用CM3内核的全部东西,而是只用了它的一部分。STM32有84个中断,包括16个内核中断和68个可屏蔽中断,具有16级可编程的中断优先级。而我们常用的就是这68个可屏蔽中断,但是STM32的68个可屏蔽中断,在STM32F103系列上面,又只有60个(在107系列才有68个)。因为我们开发板选择的芯片是STM32F103系列的,所以我们就只针对STM32F103系列这60个可屏蔽中断进行介绍。
在这里插入图片描述
STM32 的中断在这些寄存器的控制下有序的执行的。只有了解这些中断寄存器,才能方便的使用 STM32 的中断。下面重点介绍这几个寄存器:
ISER[8]:ISER 全称是:Interrupt Set-Enable Registers,这是一个中断使能寄存器组。上面说了 CM3 内核支持 256 个中断,这里用 8 个 32 位寄存器来控制,每个位控制一个中断。但是STM32F103 的可屏蔽中断只有 60 个,所以对我们来说,有用的就是两个(ISER[0]和 ISER[1]),总共可以表示 64 个中断。而 STM32F103 只用了其中的前 60 位。ISER[0]的 bit0-bit31 分别对应中断应中断 0-31。ISER[1]的 bit0-27 对应中断32-59;这样总共 60 个中断就分别对应上了。你要使能某个中断,必须设置相应的ISER 位为 1,使该中断被使能(这里仅仅是使能,还要配合中断分组、屏蔽、IO 口映射等设置才算是一个完整的中断设置)。具体每一位对应哪个中断,请参考 stm32f10x.h 里面的第 140 行处(针对编译器 MDK5 来说)。

ICER[8]:全称是:Interrupt Clear-Enable Registers,是一个中断除能寄存器组。该寄存器组与 ISER 的作用恰好相反

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值