第5章 stm32单片机外部中断2

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

5.1 中断的相关概念
中断服务程序与中断向量:为了处理中断而编写的程序称为 中断服务程序,对应中断服务程序的入口地址被称为中断向 量。 中断请求、中断响应、中断处理及中断返回:中断源对主程 序或中断服务程序提出中断要求,叫作中断请求;主程序或 中断服务程序接受中断请求,进入中断服务程序的过程叫作 中断响应;执行中断服务程序的过程叫作中断处理;中断服 务程序执行完毕后回到主程序或者次一级别中断服务程序的 过程叫作中断返回。 中断处理的整个过程包含了中断请求、中断响应、中断处理 及中断返回四个步骤。 中断系统:实现中断处理功能的软件、硬件系统称为中断系 统。
5.2.3 中断控制器
ICER[2]:全称Interrupt Clear-Enable Registers,是 一个中断清除使能寄存器组。
该寄存器组与ISER寄存器功能相反,用来清除某个 中断的使能位。由于NVIC的这些寄存器都是写1有 效的,写0是无效的。设置一组ICER 寄存器来清除 相应中断使能位。
5.2.3 中断控制器
与NVIC相关的寄存器 在“stm32f10x_map.h” 文件中定义了一个结构 体,结构体的内容如下
STM32F103系列单片机 的中断系统在这些寄存 器的控制下有序执行。 了解这些中断寄存器的 含义,才能更好的理解 STM32单片机中断系统 的工作原理
typedef struct {
第5章 STM32单片机外部中断
5.1 中断相关概念 5.2 STM32F103中断系统组成 5.3 中断控制 5.4 中断执行过程和中断嵌套 5.5 STM32外部中断应用设计
退出
5.1 中断的相关概念
中断:单片机执行主程序时,由于某个事件的原因,暂停主 程序的执行,调用相应的程序处理该事件,处理完毕后再自 动继续执行主程序的过程。 中断的优先级:由中断的嵌套可以看出,不同事件的重要程 度不同。重要的事件可以打断相对不重要的事件的处理,用 户可以根据自己的需求对不同的事件设定重要级别,称为中 断的优先级。 中断的嵌套:如果在执行一个中断时又被另一个更重要的事 件打断,暂停该中断处理过程转去处理这个更重要的事件, 处理完毕后再继续处理本中断的过程,叫作中断的嵌套。 中断源:可以引起中断的事件称为中断源。
IABR[2]:全称Interrupt Active Bit Registers,单片机中断激 活标志位寄存器组。 它是一个只读寄存器,CPU通过读取这个寄存器的相应位就 可以知道当前有哪些中断正在执行。在相应的中断执行完成 以后由硬件自动清零。对应位所代表的中断内容和ISER一样
vu32 ISER[2]; u32 RESERVED0[30]; vu32 ICER[2]; u32 RESERVED1[30]; vu32 ISPR[2]; u32 RESERVED2[30]; vu32 ICPR[2]; u32 RESERVED3[30]; vu32 IABR[2]; u32 RESERVED4[30]; vu32 IPR[15]; } NVIC_TypeDef
ห้องสมุดไป่ตู้
5.2.3 中断控制器
ISER[2]:ISER全称是:Interrupt Set-Enable Registers,中断使能寄存器组。 STM32F103系列的单片机可屏蔽外部中断有60个, 用2个32位的ISER寄存器来表示,这2个32位的寄存 器总共可以表示64个外部中断。而STM32F103系列 单片机只用了ISER寄存器其中的前60位。 ISER[0]的bit0~bit31分别对应是外部中断0~31。 ISER[1]的bit0~27对应外部中断32~59;这样总共60 个外部中断就分别对应上了。 使能某个中断,必须设置相应的ISER位为1
5.2 STM32F103中断系统组成
5.2.1中断源 STM32F103中断系统提供10个系统异常和60个可屏蔽 中断(STM32F107系列为68个)源,具有16个中断优 先级。 可屏蔽中断源包括:
外部中断、定时器中断、串口中断 直接内存访问中断 模数转换中断 集成电路总线中断 串行外设接口中断等。
ISPR[2]:全称Interrupt Set-Pending Registers,是 一个中断挂起控制寄存器组。
每个位对应的外部中断和ISER内容是一样的。通过 向相应的位写1,可以将正在执行的中断挂起,去执 行同级或更高级别的中断。向这个寄存器组写0是无 效的。
5.2.3 中断控制器
ICPR[2]:全称Interrupt Clear-Pending Registers,是单片机 的中断解挂寄存器组。 其功能和ISPR寄存器相反,对应位的内容也和ISER寄存器是 一样的。通过写1,可以将相应的中断解挂。写0无效。
嵌入式单片机原理及应用
电气工程学院仪器科学与工程系
退出
1 ARM嵌入式系统概述 2 STM32单片机结构和最小系统 3 基于标准外设库的C语言程序设计基础 4 STM32通用输入输出GPIO 5 STM32外部中断
6 STM32通用定时器 7 STM32通用同步/异步收发器USART 8 直接存储器存取DMA 9 STM32的模数转换器ADC 10 STM32的集成电路总线I2C 11 STM32的串行外设接口SPI
5.2.1 中断源
ARM Coetex-M3内核共支持256个中断,其中16 个内部中断,240个外部中断和可编程的256级中断优 先级的设置。STM32目前支持的中断共84个(16个内 部+68个外部),还有16级可编程的中断优先级的设 置,仅使用中断优先级设置8bit中的高4位。
5.2.2 中断向量:表5-1 给出STM32F103中断向量表
单独中断源 复合中断源 复合中断源
5.2.3 中断控制器
NVIC为中断总开关:支持68个可屏蔽中断。提供16个 可编程的优先级,支持中断嵌套,提供向量中断处理 机制等功能。中断发生时,自动获得服务例程入口地 址并直接调用,无需软件判定中断源。主要包括:
中断设置允许寄存器(NVIC_ISER) 中断清除允许寄存器(NVIC_ICER) 中断设置挂起寄存器(NVIC_ISPR) 中断清除挂起寄存器(NVIC_ICPR) 中断状态寄存器(NVIC_IABR)控制。
相关文档
最新文档