5.stm32 exti外设(外部中断)(区别于一般外设)

5.stm32 exti外设(外部中断)(区别于一般外设)

ID:11808486

大小:809.86 KB

页数:16页

时间:2018-07-14

5.stm32 exti外设(外部中断)(区别于一般外设)_第1页
5.stm32 exti外设(外部中断)(区别于一般外设)_第2页
5.stm32 exti外设(外部中断)(区别于一般外设)_第3页
5.stm32 exti外设(外部中断)(区别于一般外设)_第4页
5.stm32 exti外设(外部中断)(区别于一般外设)_第5页
资源描述:

《5.stm32 exti外设(外部中断)(区别于一般外设)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、EXTI外设STM32有76个中断,包括16个内核中断和60个可屏蔽外部中断,具有16级可编程的中断优先级。根据中断触发源的不同,外部中断也是可以分为:l内置外设的触发。此时,对应的IO口(若为输出)必须设置为复用功能,并使能外设的时钟。在中断向量表中有53个中断通道与之对应(除下述的7个)。l如下图所示,在外设方框中有EXTI外设部分,说明了IO口也可以作为中断的触发源,用也检测外部输入信号的边沿变化,在中断向量表中有7个中断通道与之对应分别是:EXTI15_10_IRQChannel;EXTI9_5_IRQChannel;EXTI4_IRQCh

2、annel;EXTI3_IRQChannel;EXTI2_IRQChannel;EXTI1_IRQChannel;EXTI0_IRQChannel。注意:1.我们知道,当IO口作为通用GPIO时,只能输入或者输出高低电平;若IO口要作为外部中断源,则必须配置为复用AFIO(虽然IO口作为输入时,没有复用一说,但是这里说的配置为复用AFIO是指使能AFIO的时钟)。2.又见下图,虽然EXTI外设和AFIO外设都是挂在APB2总线上,但是在使用EXTI外设时只需要使能的时钟时AFIO时钟。(!!!千万别忘记启动RCC_APB2Periph_AFIO!!

3、!,否则管脚只能做普通高低电平来用。)STM32的EXTI外设控制器寄存器支持19个外部中断/事件请求。每个中断设有状态位,每个中断/事件都有独立的触发和屏蔽设置(IMR和EMR)。STM32的19个外部中断对应着19路中断线,分别是EXTI_Line0-EXTI_Line18:线0~15:对应外部IO口的输入中断。线16:连接到PVD输出。PVD(ProgrammableVoltageDetector),即可编程电压监测器。应用于STM32ARM芯片中,作用是监视供电电压,在供电电压下降到给定的阀值以下时,产生一个中断,通知软件做紧急处理。当供电

4、电压又恢复到给定的阀值以上时,也会产生一个中断,通知软件供电恢复。线17:连接到RTC闹钟事件。RTC是多种名词的缩写,如:实时时钟(Real-TimeClock)线18:连接到USB唤醒事件。注意:1.线0~15是与EXTI外设对应的,每条中断线对应7个IO口,如EXTI_line0对应PA0,PB0,PC0,PD0,PE0,PF0,PG0(一般只有PA0~PE0)。由于一条中断线对应着多个IO口,所以在使用中断线之前要进行中断线配置。如信号由PB9输入检测,则需要进行如下设置:/*ConnectEXTILine9toPB.09*/GPIO_EX

5、TILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource9);//确定外部输入信号的端口(实际上这句话是设置AFIO_CRx)EXTI_InitStructure.EXTI_Line=EXTI_Line9;//设置中断线line9,那么意味着对应的中断通道则是EXTI9_5_IRQChannel1.每条中断线在任意一个时刻,只可以被一个IO口占用,可以时分复用。2.虽然剩下的线(16~18)是跟其他外设相关,但是在使用前也是需要配置中断线的。3.中断触发方式:STM32的外部中断是通过边沿来触发(RTSR和F

6、TSR)的,不支持电平触发。 。外部中断寄存器EXTICR寄存器组,总共有4个,因为编译器的寄存器组都是从0开始编号的,所以EXTICR[0]~EXTICR[3],对应《STM32参考手册》里的EXTICR1~EXTICR4。每个EXTICR只用了其低16位,这些为均由软件读写。EXTICR[0]~EXTICR[3]的分配如下:EXTI寄存器的结构体:typedefstruct{vu32IMR;vu32EMR;vu32RTSR;vu32FTSR;vu32SWIER;vu32PR;}EXTI_TypeDef;IMR:中断屏蔽寄存器这是一个32寄存器。

7、但是只有前19位有效(对应19条线)。当位x设置为1时,则开启这个线上的中断,否则关闭该线上的中断。EMR:事件屏蔽寄存器同IMR,只有前19位有效。只是该寄存器是针对事件的屏蔽和开启。RTSR:上升沿触发选择寄存器该寄存器同IMR,也是一个32为的寄存器,只有前19位有效。位x对应线x上的上升沿触发,如果设置为1,则是允许上升沿触发中断/事件。否则,不允许。FTSR:下降沿触发选择寄存器同PTSR,只有前19位有效,不过这个寄存器是设置下降沿的。下降沿和上升沿可以被同时设置,这样就变成了任意电平触发了。SWIER:软件中断事件寄存器(基本不用)1

8、.由下图可知,未使能x线的IMR和EMR位时,且当SWIERx位为0时,通过向该位写入1(即编号3的或门一个脚输入1),将

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。