7 拓展中断_事件控制器(EXTI)

news/2024/12/23 1:22:44/

目录

EXTI-扩展中断和事件控制器

事件的概念

EXTI-扩展中断和事件控制器

EXTI外设框图

F1/F4/F7(看懂与或门)

H7

STM32CubeMX中的EXTI配置


EXTI-扩展中断和事件控制器

事件的概念

  • STM32上许许多多的外设,是通过内部信号来协同工作的。这个信号,可以理解为事件。比如一个定时器(TIM),当我们使用定时器来计数的时候,怎么知道定时器已经计数完毕?这时就往往通过一个“计数完成事件”来告知(系统/用户)计数已经完成。
  • 有些事件是可见的,有些事件是不可见的。事件的可不可见,具体体现在寄存器里可不可以查到这些事件的标志。那如果我们想使用这些事件的时候,该怎么做?查询事件标志吗?
  • 在STM32中,绝大多数事件是不可见的,但是事件几乎都与中断功能绑定在一起。所以通常我们会开启中断的功能,来使用相应的事件。
  • 事件 ----> 中断 事件 ---->事件(即事件可以导致中断的产生,也可以导致另一个事件的产生)

EXTI-扩展中断和事件控制器

  • EXTI-扩展中断(也叫外部中断)和事件控制器,是STM32上的一个外设。它可以捕获外部输入线电平变化等等的一些事件。EXTI捕获到了事件后,还可以生成相应的EXTI中断及等等的一些中断。
  • 所以EXTI外设可以大致概括为两个功能:
    • 捕获外部输入等事件。
    • 生成EXTI中断等中断请求。

EXTI外设框图

F1/F4/F7(看懂与或门)

  • 其中输入线一般指GPIO的输入,但在F7中,由于F7的功能强大,就不仅仅包括GPIO的输入(硬件触发)了,还包括软件触发(由软件中断事件寄存器来决定)
  • 下降沿触发选择寄存器和上升沿触发选择寄存器决定了输入信号是否允许传入到下一级去。如果既不满足下降沿和上升沿,信号就无法通过边沿检测电路传入下一级门电路
  • 请求挂起寄存器可以判断出是哪一种触发方式触发了事件
  • 最终到NVIC中断控制器中,就可以切实的产生中断了
  • 触发中断时,如果不想产生中断,可以使用屏蔽寄存器将中断信号拦截住

H7

其中可配置事件可根据F1/F3/F7框图来理解

直接事件输入指使用外设来唤醒芯片

主要功能是利用中断事件来申请中断请求或者唤醒CPU

STM32CubeMX中的EXTI配置

(1)选择GPIO线路

(2)进行模式选择

其中可以选择外部中断模式和外部事件模式,以及选择边沿触发方式

  • 中断模式:既产生中断信号也产生事件信号
  • 事件模式:只产生事件信号,事件模式一般用于将外部输入线的事件来触发ADC信号的转换或者其它外设的一些功能

这里选择双边缘触发外部中断方式

(3)配置NVIC

这里警告不用管。

这个警告的意义在于提醒开发者当你选择了引脚某功能后,会限制其他category 的部分功能。

如上图中被cubeMX 用紫红色标出的 System Wake-Up 4。

这种警告就是说一个管脚有多个可能的作用,你选择了一个之后,其他不能选,用一个警告三角形提示你。

(4)生成工程

(5)查看工程代码

EXTI代码如图所示

其中CubeMX是使用HAL_GPIO_Init来通过判断Mode的为IT从而实现EXTI的配置

同样我们也可以直接使用EXTI的库包来配置

补充:中断的触发流程和复位异常的触发流程是一样的。

当我们触发一个中断之后,CPU会去中断向量表中进行偏移,找到对应中断在中断向量表中的中断服务函数入口地址。

简单来说就是当中断成功触发了,就会跳转到相应中断的中断服务函数中去

记得自己指定的操作要写在中断服务函数的if内


http://www.ppmy.cn/news/596313.html

相关文章

海信电视机,启动过程中进度条到一半会自动重启,开不了机。

海信电视机在启动时出现进度条到一半自动重启的现象,应该是系统崩溃,需要重新装系统,刷一个新的固件。 解决方法。 1、准备一个u盘,2G以上的,格式为FAT32. 2、下载电视机对应的固件型号。(在电视机背后可…

实现电脑和安卓智能电视机数字化看板定时自动切换选项卡

1、Windows系统 step 1:自行百度下载安装谷歌浏览器 step 2:下载Chrome浏览器Tab页定时轮播插件[Revolver-Tabs_v0.71]【请翻到最后有下载地址】 step 3:谷歌浏览器安装[Revolver-Tabs_v0.71]插件 2、安卓智能电视机 step 1:下载…

AOP--面向切面编程

一、AOP基础 1.AOP概述 AOP: Aspect Oriented Programming (面向切面编程、面向方面编程),其实就是面向特定方法编程。实现原理:动态代理是面向切面编程最主流的实现。而SpringAOP是Spring框架的高级技术,旨在管理bean对象的过程中&#xf…

人能不能向计算机一样输入知识,电视机能不能做为计算机的显示器来使用

一般电视机的分辨率和刷新率是达不到显示器标准的,只能看看电影还行,用来工作或学习最好还是买显示器,什么都可以换,但人的眼睛是换不了的。 液晶电视倒是可以当电脑显示器,但是液晶电视的亮度都比液晶显示器高出很多&…

液晶电视TCON板原理讲解<转>

目前电视已经从CRT过渡到液晶,我们在卖场也很难买到CRT电视了。所以液晶电视维修也是我们家电维修从业者必须要掌握的技能。而逻辑版(也称TCON板)也是液晶电视电路的核心,而提起TCON板,很多人不了解,到底什…

液晶电视工作原理(转)

液晶面板是以液晶材料为基本组件,由于液晶是介于固态和液态之间,不但具有固态晶体光学特性,又具有液态流动特性。当通电时,液晶排列变的有秩序,使光线容易通过;不通电时排列混乱,阻止光线通过。…

使用TCL脚本修改KV260启动方式

​ 使用KV260进行开发时会遇到这样的问题,开发板下载模式是QSPI,开发板没有设置拨码开关,如果想变换下载方式,就得修改底板电阻,我开始进行裸机调试时就用的这种方法。下面介绍一种通过tcl命令修改下载模式的方法&…

TV遥控器各键键值及如何实现自动化

收录了一些常见的遥控器键值码;具体用法:终端里输入adb shell input keyevent 键值码就可以操控电视(ps:几几写个简单的sh脚本放到里面,就能实现自动化测试,是不是挺简单?废话不多说上干货&…