首页 > 其他分享 >中断(EXTI)

中断(EXTI)

时间:2024-03-25 17:03:15浏览次数:27  
标签:初始化 使能 中断 IO SYSCFG EXTI

学习笔记,仅供参考。

1.中断

什么是中断?

中断一般来自硬件(如片上外设、外部I/O输入等)发生的事件,当这些硬件产生中断信号时,CPU会暂停当前运行的程序,转而去处理相关硬件的中断服务程序。

对于单片机来说,当发生中断事件时,CPU会处理中断并保留现场,当中断事件结束后,程序会回到保留的现场并向下执行。

2.STM32外部中断--EXTI

本次使用的STM32F407 具有 82 个可屏蔽中断通道,系统 异常10 个,并且优先级可编写进行设置。STM32F4 的每个 IO 都可以作为 外部中断的中断输入口,中断控制器支持 22 个外部中断/事件请求,每个中断/事件都有独立的触发和屏蔽设置。

库函数配置一般步骤

1.使能IO口时钟,并且设置为输入模式

类似初始化按键

2.开启 SYSCFG 时钟,设置 IO 口与中断线的映射关系。

RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);//使能 SYSCFG 时钟

SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, EXTI_PinSource0);//中断线0与A口映射(就是GPIOA的0号管脚)

3.初始化中断,并设置触发条件

3.1线0     3.2中断触发模式    3.3上升沿触发   3.4使能      3.5初始化寄存器(EXTI_Init)

4. 配置中断分组(NVIC),并使能中断。

4.1外部中断通道     4.2抢占优先级    4.3响应优先级   4.4使能      4.5初始化中断优先级(NVIC_Init)

5.编写中断服务函数

5.1找到对应中断服务函数     5.2判断此线上的中断是否发生    5.3若发生干什么事情   5.4清除中断标志位

3.总体来说一般步骤为:

1)使能 IO 口时钟,初始化 IO 口为输入。

2)使能 SYSCFG 时钟,设置 IO 口与中断线的映射关系。

3)初始化线上中断,设置触发条件等。

4)配置中断分组(NVIC),并使能中断。

5)编写中断服务函数。

标签:初始化,使能,中断,IO,SYSCFG,EXTI
From: https://blog.csdn.net/m0_74355107/article/details/137017859

相关文章

  • 程序跑飞原因总结 && 引脚配置&&中断&&while循环&&数组越界 &&硬件原因
    2023.11月开始做了新项目,技术不到家导致程序多次跑飞,现在总结如下一、引脚配置错误错误原因:同一个引脚初始化两次1.硬件原理图变更,引脚功能变动,改动时不仔细2.代码规范不好:对于引脚的宏定义封装不好,除了.h文件还在其他地方出现数字引脚错误现象:1.程序跑飞2.调试时将新增......
  • 【蓝桥杯嵌入式】四、各种外设驱动(十一)ADC(1):软件触发与中断触发方式
    温馨提示:本文不会重复之前提到的内容,如需查看,请参考附录【蓝桥杯嵌入式】附录目录重点提炼:一、需求分析1、需要的外设资源分析: 2、外设具体分析:比赛时ADC可能需要配置的部分:二、软件配置按照分析配置外设:ADC2_IN15:采用软件触发的方式 ADC1_IN11:采用TIM6触发的方......
  • 【合合TextIn】深度解析智能文档处理技术与应用
    一、智能文档处理介绍智能文档处理(IntelligentDocumentProcessing,IDP)是利用人工智能(AI)、机器学习(ML)、计算机视觉(CV)、自然语言处理(NLP)等技术自动化地捕获、理解、处理和分析文档内容的过程。不同于传统的文档管理系统,IDP能够处理结构化、半结构化和非结构化的文档,从而提取......
  • AXI Memory Mapped to PCI Express学习笔记(二)——PCIe中断
    AXIMemoryMappedtoPCIExpress IP核的中断包括Local中断,MSI中断和 Legacy中断。1Local中断   在配置AXI桥接器时,中断输出(interrupt_out)引脚可以根据中断掩码寄存器(InterruptMaskregister)的设置来发送中断。这个中断输出引脚会向连接到桥接器内存映射AXI4侧......
  • CH57x,CH58x,CH59x芯片_SPI借助GPIO中断完成中断传输
    受其他项目的启发,如果IO充裕,且在SPI主机与SPI从机均可以自行编程的情况下,可以尝试在4线SPI的基础上增加两根GPIO线,通过IO中断的形式通知对方进行收数据;非SPI中断形式,以两颗CH582通讯为例,1、主机程序:voidmain(){SetSysClock(CLK_SOURCE_PLL_60MHz);GPIOA_ModeCfg......
  • yolov5训练数据集意外中断
    痛苦电脑关机,卡死都有可能导致训练中断重新训练不可行所以要改参数,继续训练找到runs-train文件夹下面的文件这时候里面会有exp1,exp2……的文件夹我是训练到10中断(这里可以查看终端训练的代码,会显示正在训练expXXX)所以把大于exp10的exp11删除(如果有其他的也删除)然后找到tra......
  • STM32 HAL库 通过外部中断控制一个灯亮灭
    个人学习理解    在我们学习写代码的过程中,我们配合着开发指南中的程序设计的配置步骤并与我们的学习视频结合着、对比着学习,这能更加让我们对程序设计步骤理解得更加透彻。硬件了解1、LED灯LED0–PB5LED1–PE52、独立按键KEY0–PE4KEY1–PE3KEY2–......
  • STC89C52启动!!!(四)中断
    单片机中断的定义在单片机中,中断是一种机制,用于在特定事件发生时打断当前正在执行的程序流,转而执行预定义的中断服务程序。这种机制可以使单片机在处理实时事件或紧急任务时能够及时响应,提高系统的实时性和可靠性。当单片机设置了中断并且中断条件发生时,单片机会立即停止当......
  • 埃夫特机器人中断程序的使用
    一、创建中断变量与中断子程序创建一个中断变量trap用于关联机器人中断指令创建一个中断子程序,用于触发中断时直接调用编辑中断子程序内容(触发中断后机器人执行的动作)二、添加中断指令进行中断的设置,将中断变量与中断子程序相关联设定中断变量的触发条件允许中断条......
  • 如何不中断连接保持linux服务器持续运行 —— screen 使用介绍
     请参考ck'sblog以获取最佳观感在linux服务器上跑模型的时候,有时会在终端会话中持续了一段时间后超时断开,或者因为意外情况断网,如果正常在命令行终端执行程序时,此时会中断程序的进行,这很恼火,这就意味着要让程序持续运行,就必须得保持主机和服务器的连接,程序跑一晚上,主机就......