STM32外部中断初始化

发布者:码农侠最新更新时间:2018-06-15 来源: eefocus关键字:STM32  外部中断  初始化 手机看文章 扫描二维码
随时随地手机看文章
  1. #include "exti.h"  

  2.   

  3. /******************************************************************************* 

  4. * 函 数 名         : exti_init 

  5. * 函数功能         : 外部中断2端口初始化函数       

  6. * 输    入         : 无 

  7. * 输    出         : 无 

  8. *******************************************************************************/  

  9. void exti_init()  //外部中断初始化  

  10. {  

  11.     GPIO_InitTypeDef GPIO_InitStructure;  

  12.   

  13.     EXTI_InitTypeDef EXTI_InitStructure;  

  14.   

  15.     NVIC_InitTypeDef NVIC_InitStructure;  

  16.   

  17.     /* 开启GPIO时钟 */  

  18.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);  

  19.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);  

  20.   

  21.     GPIO_InitStructure.GPIO_Pin=k_left;  

  22.     GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;  

  23.     GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;  

  24.     GPIO_Init(GPIOE,&GPIO_InitStructure);  

  25.        

  26.     GPIO_EXTILineConfig(GPIO_PortSourceGPIOE, GPIO_PinSource2);//选择GPIO管脚用作外部中断线路  

  27.     //此处一定要记住给端口管脚加上中断外部线路  

  28.     /* 设置外部中断的模式 */   

  29.     EXTI_InitStructure.EXTI_Line=EXTI_Line2;  

  30.     EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;  

  31.     EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;  

  32.     EXTI_InitStructure.EXTI_LineCmd = ENABLE;  

  33.     EXTI_Init(&EXTI_InitStructure);   

  34.       

  35.     /* 设置NVIC参数 */    

  36.     NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);        

  37.     NVIC_InitStructure.NVIC_IRQChannel = EXTI2_IRQn;    //打开EXTI2的全局中断  

  38.     NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //抢占优先级为0  

  39.     NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;        //响应优先级为0  

  40.     NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;           //使能  

  41.     NVIC_Init(&NVIC_InitStructure);           

  42. }  


关键字:STM32  外部中断  初始化 引用地址:STM32外部中断初始化

上一篇:stm32外部中断实验
下一篇:STM32的“外部中断”和“事件”区别和理解

推荐阅读最新更新时间:2024-03-16 16:05

STM32 编解码应用
编解码的具体格式 音频格式——WAV WAV是微软公司开发的一种声音文件格式,在多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的,每个WAV文件的头四个字节就是“RIFF”。WAV文件由文件头和数据体两大部分组成,其中文件头又分为RIFF/WAV文件标识段和声音数据格式说明段两部分,文件头中还包含了音频流的编码参数。 WAV文件是非常简单的一种RIFF文件,它的格式类型为“WAVE”。RIFF块包含两个子块,这两个子块的ID分别是“fmt”和“data”。其中“fmt”子块由结构PCMWAVEFORMAT所组成,其子块的大小就是sizeof(PCMWAVEFORMAT),数据组成就是PCMWAVEFORMAT结构中的
[单片机]
如何配置stm32中断的优先级
写作原由:因为之前有对stm32 优先级做过研究,但是没时间把整理的东西发表,最近项目需要2个串口,但是不是两个串口同时使用,只是随机使用其中一个,程序对2个串口的优先级需要配置; 此文思路:“中断优先级”思维导图--》关键要点---》结合图和要点相关程序应用例程讲解; 我们先来看ST公司的一张图: 我自己依据此图理解,应用思维导图画了一张方便理解:(如果看不清可通过ctrl+鼠标滑轮 放大看;) 前提条件1:组别优先顺序(第0组优先级最强,第4组优先级最弱):NVIC_PriorityGroup_0》NVIC_PriorityGroup_1》NVIC_PriorityGroup_2》NVIC_PriorityGrou
[单片机]
如何配置<font color='red'>stm32</font>中断的优先级
STM32F407-外部中断
一.基本概念 STM32F4的每个IO都可以作为外部中断输入。 STM32F4的中断控制器支持22个外部中断/事件请求: EXTI线0~15:对应外部IO口的输入中断。 EXTI线16:连接到PVD输出。 EXTI线17:连接到RTC闹钟事件。 EXTI线18:连接到USB OTG FS唤醒事件。 EXTI线19:连接到以太网唤醒事件。 EXTI线20:连接到USB OTG HS(在FS中配置)唤醒事件。 EXTI线21:连接到RTC入侵和时间戳事件。 EXTI线22:连接到RTC唤醒事件。 每个外部中断线可以独立的配置触发方式(上升沿,下降沿或者双边沿触发),触发/屏蔽,专用的状态位。
[单片机]
STM32F407-<font color='red'>外部中断</font>
STM32 中JTAG 引脚作为普通IO口设置方法
第一次画STM32 的PCB ,因为采用了SWD 调试,认为JTAG的引脚PB3,PB4,没有用到就做了普通IO口,麻烦从此引起了。 设置PB3,PB4均为输出口,且输出高电平,用万用表测量,PB4为高,PB3不是高电平,在看MDK 中的寄存器值,PB3,PB4都是高啊?寄存器的值怎么和实际的值不一样了? 唉,都让我怀疑是不是引脚接错了,反复测量后发现引脚确实是对的,但为什么PB3能输出高,而PB4不可呢? 不知道,问度娘,后来在一个帖子上发现了相关回复: 首先,STM32F10x系列的MCU复位后,PA13/14/15 & PB3/4默认配置为JTAG功能。有时我们为了充分利用MCU I/O口的资源,会把这些 端口设置为
[单片机]
STM32的GPIO电路原理详解
GPIO是通用输入/输出端口的简称,是STM32可控制的引脚。GPIO的引脚与外部硬件设备连接,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。 STM32F103ZET6芯片为144脚芯片,包括7个通用目的的输入/输出口(GPIO)组,分别为GPIOA、GPIOB、GPIOC、GPIOD、GPIOE、GPIOF、GPIOG,同时每组GPIO口组有16个GPIO口。通常简略称为PAx、PBx、PCx、PDx、PEx、PFx、PGx,其中x为0-15。 STM32的大部分引脚除了当GPIO使用之外,还可以复用为外设功能引脚,比如串口。 GPIO基本结构 每个GPIO内部都有这样的一个电路结构,这个结构在本文下面
[单片机]
<font color='red'>STM32</font>的GPIO电路原理详解
STM32外部中断EXTI
EXTI_InitTypeDef的简单说明 结构体成员用于设置外设工作参数,并由外设初始化配置函数,比如 EXTI_Init()调用,这些设定参数将会设置外设相应的寄存器,达到配置外设工作环境的目的。初始化结构体和初始化库函数配合使用是标准库精髓所在,理解了初始化结构体每个成员意义基本上就可以对该外设运用自如了。初始化结构体定义在 stm32f4xx_exti.h 文件中,初始化库函数定义在 stm32f4xx_exti.c 文件中 EXTI_InitTypeDef的代码 typedef struct{ uint32_t EXTI_Line; //中断/事件线 EXTIMode_TypeDef EXTI_Mo
[单片机]
<font color='red'>STM32</font>的<font color='red'>外部中断</font><font color='red'>EXTI</font>
STM32的时钟系统RCC详细整理
一、综述: 1、时钟源 在 STM32 中,一共有 5 个时钟源,分别是 HSI 、 HSE 、 LSI 、 LSE 、 PLL 。 ①HSI 是高速内部时钟, RC 振荡器,频率为 8MHz ; ②HSE 是高速外部时钟,可接石英 / 陶瓷谐振器,或者接外部时钟源,频率范围是 4MHz – 16MHz ; ③LSI 是低速内部时钟, RC 振荡器,频率为 40KHz ; ④LSE 是低速外部时钟,接频率为 32.768KHz 的石英晶体; ⑤PLL 为锁相环倍频输出,严格的来说并不算一个独立的时钟源, PLL 的输入可以接 HSI/2 、 HSE 或者 HSE/2 。PLL倍频可选择为 2 – 16 倍,
[单片机]
<font color='red'>STM32</font>的时钟系统RCC详细整理
基于STM32物联网开发板(4)--LCD屏
1.概述 屏幕尺寸为1.3寸,分辨率240*240,颜色格式RGB565,驱动IC:ST7789VW; 超大可视角度:大于160°(显示屏中可视角度最大的一种屏幕); 宽电压供电(3V~5V),兼容3.3V和5V电平逻辑,无需电平转换芯片; 采用7线制SPI接口; 工作温度范围为工业级(-20℃~60℃); 军工级工艺标准,长期稳定工作; 硬件接口: 引脚 说明 LEDK PB0背光 CS PA4片选 SCL PA5时钟 SDA PA7主机输出 RES PB1复位脚(电平复位) D/C PC4数据命令选择脚 2.通讯协议 ST7789VW是一款用于262K彩色图形型TFT-LCD的单片
[单片机]
基于<font color='red'>STM32</font>物联网开发板(4)--LCD屏
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved