历史上的今天
今天是:2025年12月21日(星期日)
2022年12月21日 | STM32中断设置以及中断优先级设置三步曲
2022-12-21 来源:zhihu
中断作为stm32中必不可少的一个功能,其重要性是不言而喻的因此把中断学习好是根本。
所以今天就来好好啃一下中断配置的知识,俗话说:磨刀不误砍柴工。问题是什么呢?项目中我用到了一个触摸键盘TTP229,结果在测试键盘时,不能够输入密码?最终,调试出bug就是由于中断优先级的影响。
本项目使用到的是STM32F030C8型号的MCU,我们可以从官方下载到的标准库文件中的启动汇编文件中,查看到本型号单片机的外部中断向量表。(如下图所示)

首先,我们了解一下NVIC是什么,在core_cm0.h文件中的标准库中的NVIC结构体。

其中,我们一般只用到ISER、ICER、IP这3个寄存器。ISER用于使能中断,ICER用来清除中断,IP用来设置中断优先级。
其次,我们了解一下中断优先级,中断优先级寄存器NVIC_IPRx,本寄存器宽度为8位,原则上每个外部中断可配置的优先级为0~255,实际上精简了,只用到了它的高4位。这4位,又被分成了抢占优先级和响应优先级两组,然后,中断优先级有分为以下几种情况:
1、抢占优先级不同,会涉及到中断嵌套,抢占优先级高的会优先抢占优先级低的,优先得到执行。(注意:优先级数字越小,优先级越高)
2、抢占优先级相同,不涉及到中断嵌套,响应优先级不同,响应优先级高的先响应。(例如:两个中断同时响应,这里就会先执行响应优先级高的那个中断)(注意:优先级数字越小,优先级越高)
3、抢占优先级和响应优先级都相同,则比较它们的硬件中断编号,中断编号越小,优先级越高。(硬件中断编号从中断向量表当中查看)
中断优先级分组,因为中断优先级只使用了高4位,所以,中断优先级的分组分别有以下几种情况:

最后,总结一下中断编程的三步曲:
第一步:使能外设某个中断,具体由对应的中断使能位控制。
(例如:我们使用到GPIO之前必须开启GPIO端口的时钟,用到EXTI必须开启AFIO时钟)
第二步:初始化NVIC_InitTypeDef结构体,配置中断优先级分组,设置抢占优先级和响应优先级,使能中断请求。
库函数:
NVIC_IRQChannel()设置不同的中断源,在IRQn_Type IRQn结构体寻找自己对应的中断源。
NVIC_IRQChannelPreemptionPriority()设置抢占优先级
NVIC_IRQChannelCmd() 中断使能或者取消使能
第三步:编写中断服务函数,在stm32f0xx_it.c文件中,都有一个根据中断向量表,实现的一个空的中断服务函数,需要我们自己重新编写。
史海拾趣
|
飙升的油价,已经成为每个人心灵的痛..... 应对高油价——环保 新型动力车成为新的选择,让我们来认识一下这个未来将替代传统技术的环保动力吧! 专家揭密:丰田Prius汽油/电力混合动力车>>https://bbs ...… 查看全部问答> |
|
模拟电子电路经典丛书---OP放大电路设计(冈田迪夫) 目录 第1章 OP放大器 1.1 OP放大器的运转 1.2 四种基本的使用方法 1.3 OP放大器的理想状态 1.4 非理想的OP放大器的使用方法 第2章 零点、漂移及噪声 2.1 关于偏置 2.2 零点稳定性的提高 ...… 查看全部问答> |
|
用串口转usb接口的模块 数据接收存储技术革新是信号采集处理领域内的一个重要课题。利用这种技术,可以把信号的实时采集和精确处理在时间上分为两个阶段,有利于获得令人更满意的处理结果。在无线数传接收设备中应用数据接收存储方法时,除了要 ...… 查看全部问答> |
|
大家好,我是猎头Kevin,现在急聘2位wince和windows平台的驱动开发,base杭州,本科3~4年,月薪8~10K,注大型企业如果技术精湛年薪20万以下都可以谈。有没有人选帮忙推荐啊?我的联系方式是yaochen21@msn.com手机15857144628,急聘中,所以发这里, ...… 查看全部问答> |
|
友善之臂 mini2440 + 3.5\"LCD 套餐 全新的,买来后就没有怎么用过,详细介绍请看: http://www.arm9.net/mini2440.asp 有意的请联系我,卖价400元,不刀谢谢,东西绝对全新的 qq:653338192 另转让1些嵌入式开发的书籍,都是经典的书 有意的 ...… 查看全部问答> |
|
产品信息: STM103V100是英蓓特公司新推出的一款基于ST意法半导体STM32系列处理器(Cortex-M3内核)的全功能评估板。该评估板采用主板与子板组合的工作方式,只需通过换插不同的CPU(现配STM32F103VBT6处理器)子板,即 ...… 查看全部问答> |




