STM32-嵌入式学习笔记03-EXTI中断的分析及应用

简介: STM32-嵌入式学习笔记03-EXTI中断的分析及应用

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

   这里中断通常是指GPIO的中断   事件可以是AD/DA转换  TIM定时器等···

通过书上的EXTI 功能框图可以清楚的知道配置EXTI中断的具体过程

image.png

这里拿EXTI控制GPIO为例:

编程要领:

1)初始化用来产生中断的GPIO

2)初始化EXTI

3)配置NVIC

4)编写中断函数

这里只贴出配置EXTI和中断函数的编写:

voidEXTI_Key_config(void)
{
GPIO_InitTypeDefGPIO_InitStructure;
EXTI_InitTypeDefEXTI_InitStructure;
//配置中断优先级EXTI_NVIC_Config();
//开启KEY相关GPIO的外设时钟RCC_APB2PeriphClockCmd( KEY1_GPIO_CLK, ENABLE);
//选择控制的引脚GPIO_InitStructure.GPIO_Pin=KEY1_GPIO_PIN;    
//选择输出方式为浮空输出GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;   
//设置引脚速率为50MHZGPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; 
//调用库函数,初始化GPIOGPIO_Init(KEY1_GPIO_PORT, &GPIO_InitStructure); 
//初始化EXTIGPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource0);
RCC_APB2PeriphClockCmd( KEY1_GPIO_CLK, ENABLE);
//配置EXTI的中断线EXTI_InitStructure.EXTI_Line=EXTI_Line0;
//配置EXTI模式EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;
//配置触发类型EXTI_InitStructure.EXTI_LineCmd=ENABLE;
EXTI_Init(&EXTI_InitStructure); 
}
voidEXTI0_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line0) !=RESET )
    {
LED_TOGGLE;
    }
EXTI_ClearITPendingBit(EXTI_Line0);
//清除中断}
目录
相关文章
|
7月前
|
编译器 开发工具 C语言
探索STM32的无限可能:应用与发展
探索STM32的无限可能:应用与发展
49 2
|
7月前
|
物联网 开发者 智能硬件
STM32:引领嵌入式系统新时代的微控制器
STM32:引领嵌入式系统新时代的微控制器
|
7月前
|
数据采集 IDE 编译器
STM32微控制器入门及应用实例
STM32微控制器入门及应用实例
|
7月前
|
传感器 数据采集 物联网
STM32:高性能微控制器与广泛的应用领域
STM32:高性能微控制器与广泛的应用领域
444 0
|
7月前
|
芯片
STM32F103标准外设库——中断应用/事件控制器(七)
STM32F103标准外设库——中断应用/事件控制器(七)
461 0
STM32F103标准外设库——中断应用/事件控制器(七)
|
7月前
|
数据处理 C语言 智能硬件
STM32微控制器在智能家居中的应用
STM32微控制器在智能家居中的应用
245 0
|
7月前
|
开发者
STM32中断详解及其编程实践
STM32中断详解及其编程实践
426 1
|
3月前
|
存储 传感器 Linux
STM32微控制器为何不适合运行Linux系统的分析
总的来说,虽然技术上可能存在某些特殊情况下将Linux移植到高端STM32微控制器上的可能性,但从资源、性能、成本和应用场景等多个方面考虑,STM32微控制器不适合运行Linux系统。对于需要运行Linux的应用,更适合选择ARM Cortex-A系列处理器的开发平台。
276 0
|
6月前
|
Web App开发 传感器 Linux
【嵌入式软件工程师面经】STM32单片机
【嵌入式软件工程师面经】STM32单片机
161 1
|
5月前
|
传感器 编解码 API
【STM32开发入门】温湿度监测系统实战:SPI LCD显示、HAL库应用、GPIO配置、UART中断接收、ADC采集与串口通信全解析
SPI(Serial Peripheral Interface)是一种同步串行通信接口,常用于微控制器与外围设备间的数据传输。SPI LCD是指使用SPI接口与微控制器通信的液晶显示屏。这类LCD通常具有较少的引脚(通常4个:MISO、MOSI、SCK和SS),因此在引脚资源有限的系统中非常有用。通过SPI协议,微控制器可以向LCD发送命令和数据,控制显示内容和模式。
187 0