中断设置完整说明教程
一、简述
本文介绍 系列中断设置的简明方法。通过示例定时器中断, 串口接收中断及外
部中断这三种中断实现过程,介绍如何实现中断各个寄存器的配置,中断向量表书写以及中断服务函数。
最后提供一个简要的示例程序可供大家下载使用。此示例在 的 官方实验板上通过测试。由
于定时器和串口工作模式较繁,因此对中断无关部分不做介绍。
二、实现 中断需要做哪些通用工作
设置允许哪些非屏蔽中断
设置各个允许的非屏蔽中断的中断来源
设置开启总中断
设计中断向量表
将中断向量表通过 文件挂载到指令内存
提供中断处理函数
如果中断向量表首地址挂载的不是 地址,那么需要设置中断向量表地址寄存器
对于不同的中断源,需要做各个自己的工作,比如如果是外部中断,那么需要设置管脚极性,即由高
低产生中断抑或反之。
为了照顾知识较少的读者,下面将从一个新工程出发,引导大家建立一个中断示例程序。
如果您对建立工程很熟悉,可以跳过此步。
三、建立新工程
点击设置 为 !"# $%,&$ 为 '#( )%, * 选
择您需要的器件,在此由于本人使用的是 评估板。因此选择 ++。
添加标准库 ,%!),以便自动产生 -!" 等函数。右击当前工程,选择“./!%,
0选择库所在路径,一般为 安装自带,可参考本 版本的路径地址:1
(!-211*%,1%!)1,%!)
如果您使用的是其他器件类型,请在 %!) 文件夹内选择其他器件库。
添加源文件,选择 /!%(/!%,保存为 !" 到工程路径下。
在此文件内书写主函数。
2! !"32!4
5
67!%348
9
最后通过如 步骤添加此文件到工程。
添加寄存器别名定义头文件。在本示例中,对需要用到的寄存器定义别名后,构成 *%) %7 文件,内
容在后文逐步介绍。在此可以建立一个空文件,并在 !" 中包括它。
#!"%(:*%) %7:
到此,一个 的新工程框架制作完毕。
添加 链接文件
6为了实现链接时内存配置,我们需要提供一个 文件,为了方便,可以从官方的示例程序中拷贝一份,
再加以修改。
6在安装目录下 ;1(!-21(! %1器件类型17%% 示例下,会找到一个 7%%,