APP下载

高职单片机中断知识教学与实践研究

2018-09-13王雪

无线互联科技 2018年10期
关键词:中断

王雪

摘要:文章针对高职物联网学生的特点,对嵌入式系统课程中断内容的授课方案进行教学设计,指出了中断部分内容的重要性,介绍了中断优先级相关的重点讲解内容,并采用项目式教学的方式,带领学生进行实践操作,并设计了实验过程和代码。

关键词:ARM;中断;优先级

1 背景

中断[1]是嵌入式系统中重要的概念,几乎所有的应用系统中都用到中断,中断系统体系相对复杂,涉及内核,编程和硬件连接多个方面,对于高职层面学生来说,如何整合好课程内容,如何策略性的讲授课程,对学生的接受程度有着重要的影响。

2 概念讲解

概念和体系结构[2]的理解是学习中断的理论基础,主要包括中断,优先级两个重要概念。在上课过程中,采用举例的方式效果比较好。例如:在教师上课过程中,有一个学生迟到了,在敲门进入教室的过程中,打断了教师的讲课,就是所谓的“中断”。在教师处理迟到学生的过程中,突然有一个学生生病了,又产生了一个新的中断。教师会先处理生病的学生,然后再处理迟到的同学,这就是中断的优先级[2]。在举例过程中,带出了中断概念优先级的概念,并详细讲解優先级方面的详细知识。首先要从宏观上讲解中断基础知识[3]。

(1)在CM3的体系结构中,共计设有256个中断,中断分为内核中断和外部中断,数量分别为16和240个。对于每一个中断,均可设置相关优先级,故CM3可以控制256级中断设置。(2)STM32作为意法半导体公司针对CM3订制的芯片,根据应用市场需要,并没有全部使用CM3内核,有选择性地采用了一部分。(3)在STM32体系中,一共设置了84个中断,同样分为外部中断和内部中断,分别为16和68个,中断优先级分级处理,共有16个等级。(4)在STM32F103系列中,设置了60个外部中断,同时也是可屏蔽中断。

中断的优先级是一个重要的概念,如表1所示。

在ARM中断系统中,抢占优先级和响应优先级是有区别的,讲解过程具体如下:(1)高优先级的抢占优先级是可以打断正在进行的低抢占优先级中断的。(2)抢占优先级相同的中断,高响应优先级不可以打断低响应优先级的中断。(3)抢占优先级相同的中断,当两个中断同时发生的情况下,哪个响应优先级高,哪个先执行。(4)如果两个中断的抢占优先级和响应优先级都是一样,则看哪个中断先发生就先执行;

3 实验过程

3.1 GPIO 口初始化操作

GPIO 口在进行输出前,要进行相关寄存器的配置,主要配置内容包括输入输出状态设置、上拉下拉设置、复用和重映射设置等。一般可以设为内部上拉或者内部下拉,如果不采用,一般需要在外部设置上拉电阻或者下拉电阻。否则中断会不停地发生。

3.2 GPIO复用功能设置

复用是单片机里面一个非常重要的技术,解决了CPU管脚不够用的问题,也使开发设计灵活性更好。在复用前,要开启相关外围器件的时钟功能,同时开启相关GPIO引脚的时钟功能,再进行利用设置,从而建立复用引脚与相关外围器件的对应关系。

3.3 中断设置

中断的产生需要几个条件。(1)相关器件的中断允许。(2)中断服务函数的编写。(3)中断优先级的设置。(4)上升沿或者下降沿触发。(5)NVIC所对应的中断入口函数名称。(6)中断向量表。(7)中断号的查询。这些条件都是需要进行设置的,否则将无法正确进行中断处理。

3.4 配置中断分组,并使能中断

这一步,就是配置中断的分组(Nested Vectored Interrupt Controller, NVIC),以及使能,对 STM32 的中断来说,只有配置了 NVIC的设置,并开启才能被执行,否则是不会执行到中断服务函数里面去的。

3.5 编写中断服务函数

中断服务函数的名称在STM32中在中断向量表中已经定义好了,不能随便更改名称,在STM32的启动文件当中可以找到相关的名称。例如:

DCD EXTIOJRQHandler ;外部中断0

DCD EXTIl-IRQHandler;外部中断 1

DCD EXTI2-IRQHandler;外部中断2

DCD EXTI3-IRQHandler;外部中断3

DCD EXTI4-IRQHandler;外部中断4

DCD EXTI9-5-IRQHandler;;外部中断5-9

DCD EXTI15-r。-IRQHandler;;外部中断 10-15

需要特别注意的是,中断5—9共用同一个中断入口函数。中断10—15共用同一个中断入口函数。在一般情况下,我们通常会使用外部中断0—4。通过以上几个步骤的设置,我们就可以正常使用外部中断了。

4 软件设计

我们在inter.c里输入如下代码:

5 下载验证

通过MDK开发环境对工程进行编译,无误后,可以下载代码至实验板上运行,以验证是否正确。下载代码后,在串口调试助手里面可以看到,实验效果如图1所示。

6 结语

本着“以学生为中心”的理念,在教学过程中,对教学内容的选择和提炼是非常重要的教学环节。教师要站在学生的角度上,全方位参考学生的基础知识、学习状态、接受能力和兴趣爱好,制定出适合学生学,适合教师教,适合社会用的教学实施方案,并注重知识的融会贯通,真正让学生学有所用,为将来的就业打好基础。

[参考文献]

[1]王超,朱鹏远.基于Proteus的单片机中断电路的设计与仿真[J].实验技术与管理,2017(7):136.

[2]刘维梁,任长明.中断向量表在ARM异常中断中的应用[J].微处理机,2008(4):5.

[3]刘岚,张凯.ARM7嵌入式系统的中断设计与中断处理优化[J].武汉理工大学学报,2004(4):88.

猜你喜欢

中断
基于FPGA的中断控制器设计*
跟踪导练(二)(5)
千里移防,卫勤保障不中断
AT89C51与中断有关的寄存器功能表解
FPGA内嵌PowerPC的中断响应分析
基于FPGA中断管理的研究及硬件化设计