历史上的今天
返回首页

历史上的今天

今天是:2025年07月29日(星期二)

正在发生

2019年07月29日 | 读STM32F4xx中文参考手册笔记(四)

2019-07-29 来源:eefocus

中断和事件


总述 


M4的内核最多支持256个中断,但是STM32只用了其中一部分不到100个。

中断分两种,一种是内核中断(十个左右),这是M4内核自己玩的复位,系统服务等,不用去管它(水平不够,管也管不了);还有一种是可屏蔽中断(八九十个),如定时器、串口、spi、DMA等,需要用什么就用。


EXTI 外部中断,可以自己配置发生它们的事件(中断)的请求,可以软件触发,也可以硬件,上升沿下降沿的io电平。 


刚开始学习的时候不清楚中断和事件两者之间有什么区别,后来研究了EXTI框图,了解到,当检测到输入触发电平的时候,信号会分成两条路,一条会由电路直接产生相应的脉冲,这就是事件,而另一条则会通过NVIC中断需要软件进行中断优先级配置,这就是中断。


外部中断/事件线(EXTI) 


共有23个外部中断线,16个分别链接到GPIO口上,另外七条连RTC,PVD,以太网唤醒等

可用软件触发,通过写入软件中断事件寄存器(EXTI_SWIER)触发。


寄存器配置 


中断屏蔽与事件屏蔽寄存器是根据使用需要,决定屏蔽哪一个。


上升沿,下降沿寄存器,我一般都是都置位,信号跳变了,就有效


软件中断事件寄存器和挂起寄存器是使用软件强行触发中断时用的,前者置位后触发该中断,再通过挂起寄存器相应位置置位清除前者的状态(不能直接通过软件中断事件寄存器置零取消)。



推荐阅读

史海拾趣

EIC [EIC discrete Semiconductors]公司的发展小趣事

EIC公司自创立之初,就致力于离散半导体技术的研发与创新。在成立初期,公司面临了技术瓶颈和市场接受度的双重挑战。然而,EIC的研发团队通过不懈努力,成功研发出了一款高性能、低功耗的离散半导体产品,这一技术突破不仅为公司赢得了市场认可,也为后续的产品线扩展奠定了坚实的基础。随着技术的不断进步和产品线的不断丰富,EIC逐渐在电子行业中树立起了自己的品牌形象。

Greenwich Instruments Ltd公司的发展小趣事

进入21世纪后,Greenconn Corp意识到全球化趋势不可逆转,于是制定了国际化战略,积极开拓海外市场。公司通过参加国际展会、建立海外销售网络、与跨国企业建立合作伙伴关系等方式,不断提升品牌知名度和市场份额。特别是在亚洲、欧洲和北美等发达国家和地区,Greenconn Corp的连接器产品凭借其卓越的性能和优质的服务赢得了广泛认可,逐步建立了完善的销售和服务体系。

福声科技(FUET)公司的发展小趣事

质量是企业生存和发展的根本。福声科技自成立之初就高度重视产品质量管理,通过引入ISO9001质量管理体系,建立了完善的质量管理体系。公司从原材料采购、生产过程控制到成品检验,每一个环节都严格按照标准执行,确保产品质量的稳定性和可靠性。这一举措不仅赢得了客户的信赖和好评,也为公司赢得了更多的市场份额。

CONEXANT公司的发展小趣事

作为一家在半导体和通信领域具有深厚技术底蕴的公司,Conexant始终致力于技术创新和市场拓展。在不断变化的市场环境中,Conexant紧跟行业趋势,加大在新技术研发和市场推广方面的投入。通过持续创新和市场拓展,Conexant成功巩固了在行业内的领先地位,并为全球用户提供了更加优质的产品和服务。

这些故事只是CONEXANT公司在电子行业发展中的一部分,它们展示了公司在不同时期的战略决策、技术创新和市场拓展能力。这些成就不仅为CONEXANT公司赢得了业界的尊重和认可,也为整个电子行业的发展做出了重要贡献。

广东长利光电(Changli Optoelectronic)公司的发展小趣事

进入21世纪,广东长利光电开始将目光投向国际市场。公司积极参加各种国际展览和交流活动,与世界各地的客户建立了广泛的联系。凭借优质的产品和服务,公司逐渐在国际市场上崭露头角。为了更好地服务全球客户,广东长利光电在中国设立了多个办事处,并建立了完善的销售和服务网络。

Alcatel-Lucent公司的发展小趣事

在公司成立之初,广东长利光电面临着巨大的市场压力和资金困难。然而,公司创始人凭借着对LED技术的深刻理解和市场前景的坚定信念,决定专注于LED产品的研发和生产。他们引进了先进的生产设备和技术,不断创新,逐渐在市场上站稳了脚跟。这一时期,公司的研发团队经常加班加点,反复试验,以确保产品的质量和性能达到最佳状态。

问答坊 | AI 解惑

AT89C51如何通过(USB-HOST)ISP1362读取U盘MP3数据 C程序

本人想利用AT89C51SND1C单片机读取U盘的数据。不知道怎么读取。。。请教高手指点一二,最好是C语言写的,我的编译器是Keil C …

查看全部问答>

关于mipsel-linux交叉编译strongswan的问题

我在交叉编译strongswan的时候,遇到一个问题,在网上找了好久,也没有找到确切的答案。 问题如下: mipsel-linux-ld: ../../../lib/libcrypto/libblowfish/libblowfish/libblowfish.a(bf_skey.o):linking PIC files with non-PIC files Bad val ...…

查看全部问答>

pda上判断是否有存储卡或者内置存储卡

用vc2005,ppc2003,请问各位大侠我该如何判断pda上是否有存储卡或内置的存储卡并读出名字呢…

查看全部问答>

keil下开发 C标准库的使用问题~~

我在keil下开发cortex m3系列的lm3s811.但是我想用到c标准库的string函数等等。如果没有把C库的lib加入keil的话。那么程序会跑到未定义的向量表~~~…

查看全部问答>

有关 enet-lwip

请问:     pucMACArray[0] = ((ulUser0 >>  0) & 0xff);     pucMACArray[1] = ((ulUser0 >>  8) & 0xff);     pucMACArray[2] = ((ulUser0 >> 16) & 0xff);     pucMACArray[3] ...…

查看全部问答>

为什么运算放大器会发生振荡——两种常见原因浅析

本帖最后由 dontium 于 2015-1-23 12:40 编辑 在TI E2E社区中发现了几篇不错的文章,特意翻译过来分享给大家,其中Bruce Trump系列关于放大器有很好的见解,特此供大家参考。 摘要:虽然 Bode 图是一种很不错的分析工具,但是您可能还没有发现, ...…

查看全部问答>

stm32控制摄像头ov7670时遇见的奇怪问题

本帖最后由 paulhyde 于 2014-9-15 04:06 编辑 我用的是STM32F103ZE,摄像头是带FIFO的ov7670,显示屏是ILI9320(320×240),中断的程序如下: void EXTI15_10_IRQHandler(void) { u16 i,j; u16 t1,t2; EXTI_Clear ...…

查看全部问答>

ADXL345零售价一般是多少?

ADXL345零售价一般是多少?据说淘宝很多假货.…

查看全部问答>

AD9361寄存器配置求助

各位好!    我们在对AD9361寄存器进行初始化配置过程中,出现247位寄存器指令读取失败的问题,导致初始化校准无法继续进行,    配置指令:{0x02,0x47,0x11},         //SPIRead    ...…

查看全部问答>

STM32的CAN是怎么用?

一些STM32开发板上有CAN的接口,但不知是怎么用来通信? …

查看全部问答>