历史上的今天
返回首页

历史上的今天

今天是: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文件中,都有一个根据中断向量表,实现的一个空的中断服务函数,需要我们自己重新编写。


推荐阅读

史海拾趣

AAEON公司的发展小趣事

AAEON公司是一家总部位于台湾的全球性电子公司,专注于提供嵌入式计算解决方案和人工智能应用平台。以下是关于该公司发展的五个相关故事:

  1. 公司成立和初期发展: AAEON公司成立于1992年,最初主要从事电脑主板的设计和生产。公司在成立初期致力于提供高质量、高性能的计算解决方案,迅速在台湾本地市场建立了良好的声誉。

  2. 技术创新和产品多样化: 随着技术的发展和市场需求的变化,AAEON开始进行技术创新,并逐步扩展产品线。公司不仅持续改进和推出新型的嵌入式计算产品,还积极涉足人工智能领域,开发智能边缘计算平台和解决方案。

  3. 国际市场拓展: 为了进一步扩大业务规模,AAEON积极拓展国际市场。公司与全球各地的合作伙伴建立了广泛的合作关系,产品销售网络覆盖了亚洲、欧洲、北美和其他地区。公司还在一些国家设立了分支机构和办事处,加强了对当地市场的开拓和服务。

  4. 合作伙伴关系和生态系统建设: AAEON与众多的合作伙伴建立了紧密的合作关系,共同推动产品的创新和市场拓展。公司与主流的芯片厂商、系统集成商、软件开发商等建立了长期稳定的合作关系,共同打造了完善的生态系统。

  5. 未来展望和发展方向: AAEON将继续致力于技术创新和产品升级,加强在嵌入式计算和人工智能领域的领先地位。公司将不断推出符合市场需求的新产品和解决方案,为客户提供更优质的服务和支持。同时,AAEON将继续加强与合作伙伴之间的合作,共同推动行业的发展和进步。

ELPIDA公司的发展小趣事

2008年全球金融危机的爆发对ELPIDA造成了巨大冲击。由于DRAM需求的急剧下降和价格的暴跌,公司的业绩急剧恶化。在这种情况下,ELPIDA不得不采取一系列措施来应对困境,包括削减成本、优化生产流程等。然而,这些措施并未能完全扭转公司的颓势。

EPCOS/TDK公司的发展小趣事

2009年,EPCOS与TDK元件事业部合并,标志着两家公司在电子元器件领域的强强联合。合并后的公司更名为TDK-EPC,由位于日本的TDK-EPC公司管理。这一合并进一步增强了EPCOS在电子元器件领域的实力,使其在全球市场中的地位更加稳固。合并后,公司继续投入大量研发资源,致力于开发更小、更轻、更高效的电子元器件,以满足不断增长的市场需求。

Electric Imp Inc.公司的发展小趣事

面对日益激烈的市场竞争和不断变化的市场需求,Electric Imp Inc.公司始终保持着敏锐的市场洞察力和持续的创新精神。公司不断推出新产品、新技术,以满足不同客户的需求。同时,公司还加强了内部管理和团队建设,提高了员工的专业素质和工作效率。这些努力使得公司能够保持持续的发展态势,并在电子行业中保持领先地位。

乾坤(Cyntec)公司的发展小趣事

面对工业4.0的浪潮,乾坤公司积极响应国家智能制造的号召,开始进行智能制造的转型。公司引进了先进的自动化设备,对生产线进行了全面升级,实现了生产过程的自动化、信息化和智能化。通过智能制造的转型,乾坤不仅提高了生产效率,还降低了生产成本,同时提升了产品的一致性和可靠性。这一转型为乾坤公司的持续发展注入了新的动力,使其在激烈的市场竞争中保持了领先地位。

B&F Fastener Supply公司的发展小趣事

为了进一步完善电子供应链,B&F Fastener Supply公司积极寻求并购机会。经过多轮谈判和尽职调查,公司成功收购了某家专注于电子元器件供应的公司。这次并购使得B&F的产品线更加丰富,能够为客户提供一站式的电子供应链解决方案。

问答坊 | AI 解惑

FPGA趋势

FPGA技术的发展趋势 随着微电子技术、EDA技术、以及应用系统需求的发展,FPGA正在逐渐成为数字系统开发的平台,并将在以下方面继续完善和提高: (1) 高集成度、大容量、低成本、低电压、低功耗; (2) 资源多样化; (3) 适用于片 ...…

查看全部问答>

面对飙升的油价——环保新型动力车

飙升的油价,已经成为每个人心灵的痛.....          应对高油价——环保 新型动力车成为新的选择,让我们来认识一下这个未来将替代传统技术的环保动力吧! 专家揭密:丰田Prius汽油/电力混合动力车>>https://bbs ...…

查看全部问答>

模拟电子电路经典丛书(1、2)

模拟电子电路经典丛书---OP放大电路设计(冈田迪夫) 目录 第1章 OP放大器 1.1 OP放大器的运转 1.2 四种基本的使用方法 1.3 OP放大器的理想状态 1.4 非理想的OP放大器的使用方法 第2章 零点、漂移及噪声 2.1 关于偏置 2.2 零点稳定性的提高 ...…

查看全部问答>

用串口转usb接口的模块(一)

用串口转usb接口的模块 数据接收存储技术革新是信号采集处理领域内的一个重要课题。利用这种技术,可以把信号的实时采集和精确处理在时间上分为两个阶段,有利于获得令人更满意的处理结果。在无线数传接收设备中应用数据接收存储方法时,除了要 ...…

查看全部问答>

杭州 WinCE Driver本月需要2名!及其他岗位

大家好,我是猎头Kevin,现在急聘2位wince和windows平台的驱动开发,base杭州,本科3~4年,月薪8~10K,注大型企业如果技术精湛年薪20万以下都可以谈。有没有人选帮忙推荐啊?我的联系方式是yaochen21@msn.com手机15857144628,急聘中,所以发这里, ...…

查看全部问答>

有人移植过libnids库吗?

想把用libnids编写的程序移植到ARM7上面,试了几种方法,怎么也不成功!百度,google一点头绪没有。请问有人做过类似的工作吗?…

查看全部问答>

友善之臂 mini2440 + 3.5"LCD 套餐

友善之臂 mini2440 + 3.5\"LCD 套餐 全新的,买来后就没有怎么用过,详细介绍请看: http://www.arm9.net/mini2440.asp 有意的请联系我,卖价400元,不刀谢谢,东西绝对全新的 qq:653338192 另转让1些嵌入式开发的书籍,都是经典的书 有意的 ...…

查看全部问答>

英蓓特STM32开发板(¥680),集成ULINK-ME

产品信息:    STM103V100是英蓓特公司新推出的一款基于ST意法半导体STM32系列处理器(Cortex-M3内核)的全功能评估板。该评估板采用主板与子板组合的工作方式,只需通过换插不同的CPU(现配STM32F103VBT6处理器)子板,即 ...…

查看全部问答>

DK-LM3S9B96例2按键与LED

KEY-PJ7; LED-PF3; 程序如下:…

查看全部问答>