首页 > 其他分享 >STM32之外部中断/时间控制器(EXTI)

STM32之外部中断/时间控制器(EXTI)

时间:2023-06-17 14:12:46浏览次数:36  
标签:控制器 STM32 External interrupt line uint32 EXTI define

一、EXTI 管理控制23个中断/事件,每个中断/事件 都对应一个边沿检测器,可以实现信号输入的上升沿检测和下降沿检测。 EXTI可实现对每个中断/事件线单独配置,

可以单独配置为中断或事件,以及触发事件的属性。

二、EXTI的功能框图,见具体资料手册。

三、EXIT中断/事件线

#define EXTI_Line0       ((uint32_t)0x00001)     /*!< External interrupt line 0   PX0(X可为 A,B,C,D,E,F,G,H,I)*/
#define EXTI_Line1       ((uint32_t)0x00002)     /*!< External interrupt line 1   同上*/
#define EXTI_Line2       ((uint32_t)0x00004)     /*!< External interrupt line 2  */
#define EXTI_Line3       ((uint32_t)0x00008)     /*!< External interrupt line 3 */
#define EXTI_Line4       ((uint32_t)0x00010)     /*!< External interrupt line 4 */
#define EXTI_Line5       ((uint32_t)0x00020)     /*!< External interrupt line 5 */
#define EXTI_Line6       ((uint32_t)0x00040)     /*!< External interrupt line 6 */
#define EXTI_Line7       ((uint32_t)0x00080)     /*!< External interrupt line 7 */
#define EXTI_Line8       ((uint32_t)0x00100)     /*!< External interrupt line 8 */
#define EXTI_Line9       ((uint32_t)0x00200)     /*!< External interrupt line 9 */
#define EXTI_Line10      ((uint32_t)0x00400)     /*!< External interrupt line 10 */
#define EXTI_Line11      ((uint32_t)0x00800)     /*!< External interrupt line 11 */
#define EXTI_Line12      ((uint32_t)0x01000)     /*!< External interrupt line 12 */
#define EXTI_Line13      ((uint32_t)0x02000)     /*!< External interrupt line 13 */
#define EXTI_Line14      ((uint32_t)0x04000)     /*!< External interrupt line 14 */
#define EXTI_Line15      ((uint32_t)0x08000)     /*!< External interrupt line 15 */
#define EXTI_Line16      ((uint32_t)0x10000)     /*!< External interrupt line 16 Connected to the PVD Output   可编程电压检测器输出*/
#define EXTI_Line17      ((uint32_t)0x20000)     /*!< External interrupt line 17 Connected to the RTC Alarm event */
#define EXTI_Line18      ((uint32_t)0x40000)     /*!< External interrupt line 18 Connected to the USB OTG FS Wakeup from suspend event */                                    
#define EXTI_Line19      ((uint32_t)0x80000)     /*!< External interrupt line 19 Connected to the Ethernet Wakeup event */
#define EXTI_Line20      ((uint32_t)0x00100000)  /*!< External interrupt line 20 Connected to the USB OTG HS (configured in FS) Wakeup event  */
#define EXTI_Line21      ((uint32_t)0x00200000)  /*!< External interrupt line 21 Connected to the RTC Tamper and Time Stamp events */                                               
#define EXTI_Line22      ((uint32_t)0x00400000)  /*!< External interrupt line 22 Connected to the RTC Wakeup event */
#define EXTI_Line23      ((uint32_t)0x00800000)  /*!< External interrupt line 23 Connected to the LPTIM Wakeup event */

四、EXTI初始化结构体

typedef struct
{
  uint32_t EXTI_Line;             //中断/事件线 
   
  EXTIMode_TypeDef EXTI_Mode;       //模式

  EXTITrigger_TypeDef EXTI_Trigger;  //触发方式(上升或下降)

  FunctionalState EXTI_LineCmd;   //EXTI使能
    
}EXTI_InitTypeDef;

五、实验:通过按键来触发EXTI,并在中断服务函数中实现对RGB彩灯的亮灭

5.1 流程图

 


 

标签:控制器,STM32,External,interrupt,line,uint32,EXTI,define
From: https://www.cnblogs.com/zhanghongfei/p/17480371.html

相关文章

  • 基于STM32的铁路自动围栏系统设计
    一、项目背景随着城市规模的不断扩大和交通运输方式的日益发展,铁路与公路的交叉口已经成为常见的场景。然而,这些交叉口往往存在一定的安全隐患,因为有时不易发现列车行进的情况,导致公路上的车辆或行人可能会无意中闯入铁路区域,从而引发重大交通事故。为了解决这个问题,当前开发了一款......
  • k8s实战案例之基于StatefulSet控制器运行MySQL一主多从
    1、前言Pod调度运⾏时,如果应⽤不需要任何稳定的标示、有序的部署、删除和扩展,则应该使⽤⼀组⽆状态副本的控制器来部署应⽤,例如Deployment或ReplicaSet更适合⽆状态服务需求,⽽StatefulSet适合管理所有有状态的服务,⽐如MySQL、MongoDB集群等。2、StatefulSet控制器运行MySQL一......
  • STM32CUBEIDE RTC
    voidsetTime(){RTC_DateTypeDefsDate;RTC_TimeTypeDefsTime;sDate.WeekDay=4;sDate.Month=6;sDate.Date=8;sDate.Year=23;HAL_RTC_SetDate(&hrtc,&sDate,RTC_FORMAT_BIN);sTime.Hours=14;sTime.Minutes......
  • STM32嵌入式面试知识点总结
    一、STM32F1和F4的区别?解答:参看:STM32开发–STM32初识内核不同:F1是Cortex-M3内核,F4是Cortex-M4内核;主频不同:F1主频72MHz,F4主频168MHz;浮点运算:F1无浮点运算单位,F4有;功能性能:F4外设比F1丰富且功能更强大,比如GPIO翻转速率、上下拉电阻配置、ADC精度等;内存大小:F1内部SRAM最大64K,F4有1......
  • ubuntu开发stm32单片机-环境搭建
    1、首先安装串口助手(ch340驱动)首先查看操作系统中自带的串口驱动arvin@arvin-virtual-machine:/lib/modules/5.19.0-43-generic/kernel/drivers/usb/serial$lsaircable.kof81232.koiuu_phoenix.komxuport.koquatech2.kousbserial.koark3116.k......
  • STM32低功耗配置
    一、电源介绍1.1STM32下的电源管理电源框图电源标号说明电压调节器复位后调节器总是使能。以3种不同的模式工作。运转模式:调节器以正常功耗模式提供1.8V电源(内核,内存和外设)。停止模式:调节器以低功耗模式提供1.8V电源,以保存寄存器和SRAM的内容。待机模式:调节器停止供......
  • stm32F103ZE点灯
    点灯大师对stm32类型芯片的第一次操作1、LED1、led.h2、led.c3、main.c利用以上三个文件点灯led.h1#ifndef_LED_H2#define_LED_H34#include"stm32f10x.h"56voidLED_Config(void);789#endifled......
  • Three.js教程:相机控件轨道控制器OrbitControls
    推荐:将NSDT场景编辑器加入你的3D工具链其他系列工具:NSDT简石数字孪生相机控件轨道控制器OrbitControls平时开发调试代码,或者展示模型的时候,可以通过相机控件OrbitControls实现旋转缩放预览效果。OrbitControls使用你可以打开课件案例源码测试下效果。旋转:拖动鼠标左键缩放......
  • m基于PID控制器的电动车充放电系统的simulink建模与仿真
    1.算法仿真效果matlab2022a仿真结果如下:      2.算法涉及理论知识概要      随着全球经济的增长、人口的增多,能源消耗速率越来越快。而化石类能源总量有限,难以满足未来人类日益庞大的能源需求。此外,环境污染、能源危机和能源安全等因素将电动汽车推上了......
  • m基于PID控制器的电动车充放电系统的simulink建模与仿真
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要随着全球经济的增长、人口的增多,能源消耗速率越来越快。而化石类能源总量有限,难以满足未来人类日益庞大的能源需求。此外,环境污染、能源危机和能源安全等因素将电动汽车推上了历史的舞台,成为了全世界研究和关注的......