1、目的
本篇学习笔记我们主要来了解ME32F030的中断系统,首先通过对ME32F030终端系统和中断控制存器进行学习,最后通过实际的GPIO端口中断实例掌握中断函数的编程实现来加深掌握ME32F030中断系统的编程方法。
2、ME32F030中断概述中断是单片机系统重要的组成部分,使单片机能够快速的对事件请求做出响应。ME32F030靠内部的嵌套向量中断控制器(NVIC)来进行中断的调度,它是 Cortex™-M0 内核的一部分。它可以让 CPU 以最短的时间对中断作出反应。主要的特征有:
• 较短的中断响应延迟.
• 处理系统异常和外设中断.
• 支持 32 个中断向量.
• 四种可编程的中断响应优先级别.
• 产生软件中断.
• 可配置的不可屏蔽中断源会有详细的说明。
3、ME32F030嵌套向量中断控制器(NVIC)嵌套向量中断控制器(NVIC)负责着整个MCU的中断管理,除了管理我们常用的外设中断源,还包括非屏蔽中断源的管理。具体管理的中断源及其中断序号,其实在CMSDK_CM0.h中定义好了,通过程序定义对具体管理的中断源一目了然,定义的内容如下图所示。
中断源
ME32F030的中断系统是由一系列的NVIC寄存器组成的,这些寄存器可用于中断 IRQ0~IRQ31, 包括中断使能,等待和优先级等操作。如果中断被允许,并且相应中断挂起被设置,NVIC 将会根据中断优先级触发中断。反之,中断被禁止,中断源只会改变中断挂起状态,而 NVIC 不会对中断源信号采取任何动作,不论任何中断优先级。具体的NVIC寄存器组如表格所示: