历史上的今天

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

正在发生

2019年09月12日 | 秉火429笔记之十 EXTI-外部中断/事件

发布者:朱颜素韵 来源: eefocus关键字:秉火  EXTI  外部中断  事件 手机看文章 扫描二维码
随时随地手机看文章

1. EXTI 简介

外部中断/事件控制器(EXTI)管理了控制器的23个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。EXTI可以实现对每个中断/事件线进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性。


EXTI 控制器的主要特性如下:


 每个中断/事件线上都具有独立的触发和屏蔽

每个中断线都具有专用的状态位

支持多达 23 个软件事件/中断请求

检测脉冲宽度低于 APB2 时钟宽度的外部信号。

 


2. EXTI 功能框图

3. 功能点

要产生中断,必须先配置好并使能中断线。


要产生事件,必须先配置好并使能事件线。


通过在软件中对软件中断/事件寄存器写“1”,也可以产生中断/事件请求


硬件中断选择

要配置 23 根线作为中断源,请执行以下步骤:


配置 23 根中断线的屏蔽位 (EXTI_IMR)

配置中断线的触发选择位(EXTI_RTSR 和 EXTI_FTSR)

配置对应到外部中断控制器 (EXTI) 的 NVIC 中断通道的使能和屏蔽位,使得 23 个中断线中的请求可以被正确地响应。

硬件事件选择

要配置 23 根线作为事件源,请执行以下步骤:


 配置 23 根事件线的屏蔽位 (EXTI_EMR)

 配置事件线的触发选择位(EXTI_RTSR 和 EXTI_FTSR)

软件中断/事件选择

可将这 23 根线配置为软件中断/事件线。以下为产生软件中断的步骤。


配置 23 根中断/事件线的屏蔽位(EXTI_IMR、EXTI_EMR)

在软件中断寄存器设置相应的请求位 (EXTI_SWIER)

4. 中断与事件比较

从上图可以知道,从外部激励信号来看,中断和事件的产生源都可以是一样的.之所以分成2个部分,由于中断是需要CPU参与的,需要软件的中断服务函数才能完成中断后产生的结果;但是事件,是靠脉冲发生器产生一个脉冲,进而由硬件自动完成这个事件产生的结果,当然相应的联动部件需要先设置好,比如引起DMA操作,AD转换等;


简单举例:


外部I/O触发AD转换,来测量外部物品的重量;


如果使用传统的中断通道,需要I/O触发产生外部中断,外部中断服务程序启动AD转换,AD转换完成中断服务程序提交最后结果;使用事件通道,I/O触发产生事件,然后联动触发AD转换,AD转换完成中断服务程序提交最后结果;相比之下,后者不要软件参与AD触发,并且响应速度也更块; 使用事件触发DMA操作,就完全不用软件参与就可以完成某些联动任务了。


5. 编码要点

 配置时钟,系统时钟,GPIO时钟,SYSCFG时钟。

配置NVIC

配置GPIO输入模式

配置EXTI源输入及EXTI中断/事件线

EXTI 中断服务函数

注:事件机制提供了一个完全有硬件自动完成的触发到产生结果的通道,不要软件的参与,降低了CPU的负荷,节省了中断资源,提高了响应速度(硬件总快于软件),是利用硬件来提升CPU芯片处理事件能力的一个有效方法;


关键字:秉火  EXTI  外部中断  事件 引用地址:秉火429笔记之十 EXTI-外部中断/事件

上一篇:秉火429笔记之十一 Systick--滴答定时器
下一篇:STM32之SPI的迭代

推荐阅读

9月12日下午消息,今天下午戴森在北京召开了新品发布会,正式推出了Lightcycle台灯、新款冷暖空气净化风扇以及新款扫地机器人360 Heurist。值得注意的是,本次的新品,国内将作为全球首发城市。戴林CEO Jim Rowan  Lightcycle台灯  这款台灯最主要的特色就是利用戴森独家的算法,可基于时间、日期以及GPS定位推算出地球上不同时刻的日光效果,并自...
航空装备中,最受关注的当属航空发动机。航空工业被比作现代工业的皇冠,航空发动机更被称为现代工业皇冠上的明珠,是飞机的心脏。 航空发动机要求在极为有限的空间内和极端恶劣条件下保证长期、稳定的、极端的性能,其承受的温度在1700℃以上,压力相当于3倍蓄满水后三峡大坝的底部压力。因此,航空发动机是研发制造难度最大最顶级的现代工业造物。 叶轮...
9月9-11日, ELEXCON电子展暨5G全球大会(中国站)在深圳国际会展中心(宝安)9/11号馆举办。作为中国电子行业风向标之一、深圳市历史最悠久的电子行业盛会,吸引了包括半导体、电子元器件、IoT/5G、智能网联与智能驾驶等行业众多企业参展。作为国内领先的MLCC制造商,广东微容电子科技有限公司亮相ELEXCON电子展,现场展示其先进的MLCC产品。展会期间,...
重播 播放 00:00 / 00:00 正在直播 00:00 进入全屏 画中画 点击按住可拖动视频 2021世界机器人大会9月10日至13日在北京举办。做饭、沏茶、写字、打太极……还有更多你意想不到的酷炫黑科技!跟梦竾和宇辰一起打卡这场地表最强机器人盛会,感受...

史海拾趣

问答坊 | AI 解惑

DSP硬件结构的特点和软件的特点

DSP硬件结构的特点和软件的特点 硬件结构的特点 1 Harvard结构 程序与数据存储空间分开,各有独立的地址总线和数据总线,取指和读数可以同时进行,从而提高速度,目前的水平已达到90亿次浮点运算/秒(9000MFLOPS) 2 采用流水作业(p ...…

查看全部问答∨

linux读书笔记

linux目录架构 /   根目录 /bin    常用的命令 binary file 的目錄 /boot   存放系统启动时必须读取的档案,包括核心 (kernel) 在内      /boot/grub/menu.lst   GRUB设置   ...…

查看全部问答∨

轨迹机器人制作完整例子

本帖最后由 paulhyde 于 2014-9-15 09:09 编辑 采用ATMEL单片机AT89C2051和电机驱动芯片L293D直接完成机器人的主体。两个电机分别作为左右轮子驱动。图中sensor1~sensor3分别结红外发射和红外接收管。  …

查看全部问答∨

pci驱动求助

各位:请教2个问题 1.pci卡上的bar2有256KB空间,用block dma可不可以一次传输256KB 2.如何将驱动程序中申请的内存地址映射到用户空间,我申请了32MB,这32MB空间在物理上连续吗 谢谢…

查看全部问答∨

:linux mplayer编译问题

PC机上做了交叉编译,步骤如下: #./configure --host-cc=gcc --cc=arm-linux-gcc --target=arm-armv4l-linux --enable-static --prefix=/tmp/mplayer --disable-win32 --disable-dvdread --enable-fbdev --disable-mencoder --disable-live 2 ...…

查看全部问答∨

eboot launch函数的一个疑问

;------------------------------------------------------------------------------ ; ; Function: void Launch (UINT32 *LaunchAddress) ; ; This function is called by OEMLaunch and disables MMU, invalidates I, D ; cache and TLB. U ...…

查看全部问答∨

Zstack学习经验点滴:zstack的数据接收和发送

zstack的数据接收和发送。对于接收方需要作两件事情: 1)注册一个端点,通过在XXXXApp_Init()函数里调用afRegister()来实现。如果需要处理ZDO消息和案件消息还得调用相应的注册函数ZDO_RegisterForZDOMsg,RegisterForKeys。 2)注册了端点和消 ...…

查看全部问答∨

iar编译问题

用iar编译程序时出现如下问题 Error[e46]: Undefined external "sensors" referred in sensors ( E:\\新建文件夹\\ contiki-2.6\\Debug\\Obj\\sensors.r43 ) Error[e46]: Undefined external "sensors_flags" referred in sensors ( E ...…

查看全部问答∨

能让芯片睡死的一段程序??!!

前几天刚接触430吧,属于菜鸟,然后就想把各个模块过一遍,心里有个大概,然后写了一段程序:如下 #include<msp430x14x.h> void main(void) {    WDTCTL=WDTPW+WDTHOLD+WDTNMI+WDTNMIES;    //RST/NMI引脚为非屏蔽中 ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved