单片机
返回首页

STM32外部中断初始化

2018-06-15 来源:eefocus

  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. }  


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 家用电源无载自动断电装置的设计与制作

  • 短波AM发射器电路设计图

  • 带有短路保护系统的5V直流稳压电源电路图

  • 如何调制IC555振荡器

  • 基于ICL296的大电流开关稳压器电源电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章