STM32学习笔记(4)

您所在的位置:网站首页 优先级和优先数的关系 STM32学习笔记(4)

STM32学习笔记(4)

2024-07-16 13:54:43| 来源: 网络整理| 查看: 265

目录一、NVIC中断优先级管理1. 中断简介2. 中断向量表3. 嵌套向量中断控制器(NVIC)4. NVIC的定义以及库函数二、外部中断EXTI1. EXTI功能框图(0)信号线(1)输入线(2)边沿检测电路(3)或门(4)与门(5)输出至NVIC(6)与门(7)脉冲发生器(8)产生事件2. EXTI的定义以及库函数三、一个简单的例程

一、NVIC中断优先级管理 1. 中断简介

在Cortex-M3(CM3)内核中,每个中断的优先级都是用寄存器中的8位来设置的,这样就有2^8 =256级中断,意味着可以支持256个中断,这其中包含了16个内核中断和240个外部中断,并且具有256级的可编程中断设置。但许多芯片厂商并没有使用CM3内核的全部东西,而是只用了它的一部分,而多余的部分应该是设计者考虑到后续应用发展而冗余设计的。

实际情况中,芯片厂商根据自己生产的芯片做出了调整。比如ST(意法半导体)公司的STM32F1xx和F4xx系列只使用了这个(寄存器NVIC->IPR,如图所示)8位中的高四位[7:4],低四位取零,这样2^4=16,只能表示16级中断嵌套。

STM32有84个中断,包括16个内核中断和68个可屏蔽中断,具有16级可编程的中断优先级。我们使用的是STM32F103系列,只有60个可屏蔽中断,而在107系列有68个。

2. 中断向量表

中断向量表为每个外设作了硬件编号,可以把它理解为默认顺序。如果有两个外设工作顺序发生冲突(一般在NVIC设置好后就很少发生这种情况)时,就按照这个表来分执行先后。

STM32的中断向量表如下(可对照STM32中文参考手册9.1.2节中断和异常向量中的表):

其中灰色的部分(图片未显示)为异常向量,其余白色部分为中断向量。

在头文件stm32f10x.h的163行开始中定义了各中断向量的顺序编号,现摘录该定义(IRQ = Interrupt Request):

/****** Cortex-M3 Processor Exceptions Numbers 内核处理器异常编号(用户一般不使用,说白就是不用管) ***************************************************/ NonMaskableInt_IRQn = -14, /*!< 2 Non Maskable Interrupt */ ······ /****** STM32 specific Interrupt Numbers STM32特定中断号 *********************************************************/ WWDG_IRQn = 0, /*!< Window WatchDog Interrupt */ PVD_IRQn = 1, /*!< PVD through EXTI Line detection Interrupt */ TAMPER_IRQn = 2, /*!< Tamper Interrupt */ ······ //省略号表示下面还有很多很多,而且使用的是条件编译,因为不同型号对应不同中断号。

在头文件core_cm3.h中可以看到配置与中断相关的寄存器。实际上ST芯片用不到这么大的寄存器,因此我们在网上借鉴了一段代码,反映了ST芯片真实使用到的寄存器大小。其余未使用到的空间均为保留。

/* cortex-m3内核分组方式(8组)结构体表达方式: */ typedef struct { __IO uint32_t ISER[8]; //中断使能设置寄存器,作用:用来使能中断 //32位寄存器,每个位控制一个中断的使能。STM32F10x只有60个可屏蔽中断,所以只使用了其中的ISER[0]和ISER[1]。 //ISER[0]的bit0~bit31分别对应中断0~31。ISER[1]的bit0~27对应中断32~59; /*!< 偏移量: 0x000 Interrupt Set Enable Register */ uint32_t RESERVED0[24]; //这些保留的不用看,也不要使用 __IO uint32_t ICER[8]; //中断清除使能寄存器,作用:用来失能中断 //32位寄存器,每个位控制一个中断的失能。STM32F10x只有60个可屏蔽中断,所以只使用了其中的ICER[0]和ICER[1]。 //ICER[0]的bit0~bit31分别对应中断0~31。ICER[1]的bit0~27对应中断32~59,下面都差不多 /*!


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭