历史上的今天
返回首页

历史上的今天

今天是:2024年12月29日(星期日)

2018年12月29日 | STM32 禁用或开启总中断

2018-12-29 来源:eefocus

STM32在使用时有时需要禁用全局中断,比如MCU在升级过程中需禁用外部中断,防止升级过程中外部中断触发导致升级失败。


ARM MDK中提供了如下两个接口来禁用和开启总中断:

__disable_irq();   // 关闭总中断

__enable_irq();    // 开启总中断


但测试发现这样一个问题,在关闭总中断后,如果有中断触发,虽然此时不会引发中断,但在调用__enable_irq()开启总中断后,MCU会立即处理之前触发的中断。这说明__disable_irq()只是禁止CPU去响应中断,没有真正的去屏蔽中断的触发,中断发生后,相应的寄存器会将中断标志置位,在__enable_irq()开启中断后,由于相应的中断标志没有清空,因而还会触发中断。所以要想禁止所有中断,必须对逐个模块的中断进行Disable操作,由于每个模块中断源有很多,对逐个中断Disable的话比较复杂,较为简单的方法是通过XXX_ClearITPendingBit()清除中断标志或者直接通过XXX_DeInit()来清除寄存器的状态。这样在__enable_irq()开启总中断后,MCU就不会响应之前触发的中断了。



推荐阅读

史海拾趣

Corsair Memory Inc公司的发展小趣事

Corsair Memory Inc公司的成功不仅在于其产品的创新,更在于其与全球知名电脑厂商的合作。多家世界级的OEM合作伙伴选择Corsair作为其内存供应商,这不仅提升了Corsair的品牌影响力,也为其带来了稳定的订单和市场份额。这种合作关系的建立,是Corsair在电子行业中持续发展的重要支撑。

e2v technologies公司的发展小趣事

e2v Technologies自成立以来,一直致力于技术创新和科学合作。公司曾与多个国际知名科研机构合作,参与了诸如哈勃天文望远镜、Envisat气象环境遥感卫星等著名科学项目。这些项目对图像传感器的精度和稳定性提出了极高的要求,e2v凭借其卓越的技术实力,成功为这些项目提供了高质量的图像传感器,进一步巩固了其在图像传感器领域的领先地位。

Alliance Memory公司的发展小趣事

随着电子行业的快速发展,e2v不断拓展其产品线,以满足市场的多样化需求。除了传统的图像传感器产品外,公司还开发了示波器数据转换器、高性能图像处理器等,广泛应用于科学、医学、工业、汽车和电信等领域。这些产品的推出,不仅拓展了e2v的市场空间,也为其带来了可观的经济效益。

Elpida Memory公司的发展小趣事

在成立初期,Elpida Memory凭借先进的技术和强大的研发实力,迅速在全球DRAM市场占据了一席之地。然而,随着市场竞争的加剧和技术的快速发展,Elpida Memory也面临着巨大的挑战。尤其是在2008年全球金融危机爆发后,DRAM市场需求大幅下降,产品价格暴跌,Elpida Memory的经营状况也陷入了困境。

Amidon Associates Inc公司的发展小趣事

尽管Elpida Memory已经不复存在,但其在DRAM领域的技术和经验仍然对全球半导体产业产生了深远的影响。Elpida Memory在技术研发、生产管理和市场营销等方面的经验,为后来的半导体企业提供了宝贵的借鉴和参考。同时,Elpida Memory的失败也提醒了半导体企业需要时刻保持警惕和创新精神,以应对日益激烈的市场竞争和技术变革。

Active-Semi公司的发展小趣事

Elpida Memory的成立,标志着日本在DRAM(动态随机存取存储器)领域的一次重要整合。1999年,为了应对全球半导体市场的激烈竞争,日本政府主导了日立、NEC、三菱电机等公司的DRAM业务整合,成立了Elpida Memory。这一举措旨在保护日本在DRAM领域的市场份额和技术优势,同时也为Elpida Memory的未来发展奠定了坚实的基础。

问答坊 | AI 解惑

[求教]谁能介绍一些好的光电探测器或红外接收管(急用)

因为在做一个和光通信有关的东西,将二进制信号编码后由光调制发射,然后用探测器接受,所以想知道一些些好用的光电探测器或红外接收管器,最好是体积小(集接收,放大,滤波,解调于一体的),灵敏度高的!!有急用,谢谢了!!…

查看全部问答>

avr

本帖最后由 paulhyde 于 2014-9-15 09:25 编辑 atmega16示例程序  …

查看全部问答>

请问51的开发板可以怎么样外接一些东西改成AVR的开发板?

买了一个51的开发板,感觉51基本掌握,想到以后还是想学习AVR,毕竟AVR的性能比51要好,所以以后想外接一点东西改成AVR的开发板, 主要是看到网上有卖这个的,但是比较贵,所以想自己做,有没有人可以介绍下?…

查看全部问答>

基站及基站内部实拍真图

每次路过家里那个基站,总忍不住一探究竟,但是“有电危险”,被重重铁丝网包裹的东西,让人很难接近,于是和老公就猜想,里面是多么多么豪华的配置,宛如宫殿一般,重金早就的狭小空间,也忍不住想爬到最高处看看远处的风景。 今天闲逛,在C11 ...…

查看全部问答>

MCF51AC256

MCF51AC256  芯片资料…

查看全部问答>

我也来谈谈我在威客明星的这些日子

我也来谈谈我在威客明星的这些日子 我做威客明星没有多久的时间,算算还不到一个月。我是我的一个同学叫我去做的,那时候我天天打游戏。没什么事干,过得挺颓废的。因为经常和同学聊天的原因(我这个同学是专搞电脑的,电脑技术没得说的),聊以前、 ...…

查看全部问答>

736BSPI接收问题

用SPI接收数据,数据长度是变化的,在初始化的时候设置了RXFIFOsize为16,接收一次数据足够了,现在有个疑问,当数据长度达不到16个字节的时候,怎么知道这次数据接收已经完成了?我看了DATASHEET好像没有这方面的说明啊?CLK MOSI在空闲 ...…

查看全部问答>

STM32FSMC的多主访问的问题已经解决

问题描述:使用FSMC访问外部存储器时,如果CPU与DMA同时向外部存储器发出请求,将会产生存储器访问错误。 这个问题已经在新版本的芯片中得到解决,请联系就近的代理商了解详情。…

查看全部问答>

求用EV的timer1实现中断的简单例程

只找到了用cpu timer实现中断的例程, 哪位有用EV的timer实现中断的例程,给我看看吧,学习学习 随便什么中断,上溢下溢比较都可以, 看了TI的一个文档,讲了PIEIFR,PIEIER,PIEACK之类的, 没有看程序直观啊。 谢了。…

查看全部问答>

一块基本功能板上有时钟芯片。。。。。 它能用来做什么?

一块基本功能板上有时钟芯片 看门狗 74hc244/138/373 蜂鸣器 键盘 数码管 cpu 它能用来做什么?…

查看全部问答>