第4章外部中断EXTI_第1页
第4章外部中断EXTI_第2页
第4章外部中断EXTI_第3页
第4章外部中断EXTI_第4页
第4章外部中断EXTI_第5页
已阅读5页,还剩11页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中断系统中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行中断源保存现场清除中断源调用中断响应函数还原现场中断触发中断进入中断响应中断退出中断源接听电话

主程序

洽谈客户中断处理的4个阶段洽谈客户主程序中断响应来电为什么要使用中断?中断协作模型STM32中断资源68个可屏蔽中断通道,包含EXTI、TIM、ADC、USART、SPI、I2C、RTC等多个外设使用NVIC统一管理中断,每个中断通道都拥有16个可编程的优先等级,可对优先级进行分组,进一步设置抢占优先级和响应优先级NVIC简介NVIC(NestedVectored

InterruptController)嵌套中断向量控制器核心外设,位于Cortex-M3内核中,

负责管理中断片上外设(On-ChipPeripheral)外设7外设8SCB核心外设(CorePeripheral)Cortex-M3内核SYSTICK外设5AFIOGP

IOCGP

IOB外设6Corte

x-M3GP

IOANVIC中断优先级的表示方法1.优先级的值越小优先级越高2.遇到抢占优先级更高的中断会发生“中断嵌套”3.未发生中断嵌套时会发生“中断排队”,总优先级更高的中断排在前面抢占优先级

响应优先级00~11

00~11bit3bit2bit1bit0抢占优先级中断优先级响应优先级常规程序常规程序1(2,3)2(2,0)3456(3,3)(3,2)(1,0)(3,2)NVIC编程接口函数名功能HAL_NVIC_SetPriorityGrouping()设置优先级分组方案HAL_NVIC_SetPriority()设置某个中断的抢占优先级和子优先级HAL_NVIC_EnableIRQ()启用某个中断HAL_NVIC_DisableIRQ()禁用某个中断EXTI简介

EXTI(External

Interrupt/EventController)-外部中断/事件控制器stm32的众多片上外设之一,能够检测外部输入信号的变化边沿并由此产生中断GPIOEXT

INVIC中断响

应函数

NVIC

AFIOGP

IOEXTI外部输入信号中断源STM32的EXTI特性支持的触发方式:上升沿/下降沿/双边沿/软件触发支持的GPIO口:所有GPIO口,但相同的Pin不能同时触发中断通道数:16个GPIO_Pin,外加PVD输出、RTC闹钟、USB唤醒、以太网唤醒触发响应方式:中断响应/事件响应EXTI内部结构

手动清除电平型中断EXT

I的作用-检测外部输入信号的变化边沿并由此产生中断边沿检测双边沿外部输入上升沿

下降沿

双边沿

中断挂起上升沿

下降沿中断挂起遇到脉冲置位中断问题:什么是事件?边沿选择

事件屏蔽外部

输入软件触发中断屏蔽事件0,1什么是事件例子:使用外部输入信号将单片机从睡眠模式中唤醒外部输入

事件

唤醒电源管理片上

外设中断源NVIC中断响应函数片上

外设1

事件

片上

外设2事件指突发事件本身,

一般是一个脉冲信号,事件的处理过程不需要CPU介入

EXT

I

PWR

EXTI寄存器组上升沿选择寄存器下降沿选择寄存器软件触发寄存器

中断屏蔽寄存器

挂起寄存器事件屏蔽寄存器中断挂起遇到脉冲置位中断边沿检测TR3TR2TR1TR0MR3MR2MR1MR0SWIER3SWIER2SWIER1SWIER0TR3TR2TR1TR0PR3PR2PR1PR0MR3MR2MR1MR0…

…

…

…

…

…边沿选择

事件屏蔽SWIER19SWIER18MR19MR18TR19TR18TR19TR18PR19PR18MR19MR180,1软件触发外部输入中断屏蔽上升沿下降沿事件EXTI通道……中断挂起遇到脉冲置位中断边沿检测注意:EXT

I0~19合起来才是一个完整的片上外设边沿选择

事件屏蔽0,1EXTI5EXTI9EXTI10EXTI15EXTI16EXTI17EXTI19EXTI2EXTI0EXTI1EXTI18EXTI3EXTI4软件触发外部输入中断屏蔽上升沿下降沿EXT

I事件让所有IO具备触发中断的能力EXTI0……EXTI3EXTI5EXTI4EXTI9EXTI10EXTI2EXTI1EXTI15

1(PVD_IRQn)可编程电压监控器 3(RTC_IRQn)实时计数器 42(USBWakeUp_IRQn)USB唤醒

62(ETH_WKUP_IRQn)

以太网唤醒Px3Px4Px5Px9Px10Px15PVDRTCUSBEthernet

6(EXTI0_IRQn)

7(EXTI1_IRQn)

8(EXTI2_IRQn)

9(EXTI3_IRQn)

10(EXTI4_IRQn)PA0

PB0

PC0

PD0

PE0

PF0

PG0PA1

PB1

PC1

PD1

PE1

PF1

PG1PA2

PB2

PC2

PD2

PE2

PF2

PG2

40(EXTI10_15_IRQn)

23(EXTI9_5_IRQn)EXTI19EXTI18EXTI17EXTI16AFIOEXT

I在STM32中,AFIO主要完成两个任务:复用功能引脚重映射、中断引脚选择EXTIUSB休眠

唤醒EXTI编程接口函数名功能描述__HAL_GPIO_EXTI_GET_IT()检查某个外部中断线是否有挂起(Pending)的中断__HAL_GPIO_EXTI_CLEAR_IT()清除某个外部中断先的挂起标志位__HAL_GPIO_EXTI_GENERATE_SWIT()在某个外部中断线上产生软中断HAL_GPIO_EXTI_IRQHandler()外部中断ISR函数中调用的通用处理函数HAL_GPIO_EXTI_Callback()外部中断处理的回调函数,需要用户重新实现EXTI使用示例用外部中断方式检测2个按键的输入,然后分别控制两个LED。2个按键和2个LED的电路与上章示例相同。示例的功能和操作流程如下。采用外部中断方式检测2个按键

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论