EXTI

作者: 圆肩男孩 | 来源:发表于2020-08-14 12:49 被阅读0次

EXTI:External interrupt/event controller


EXTI

中断流程:

输入线(软件中断事件寄存器:EXTI_SWIER:20位)→边沿检测电路→软件中断事件控制寄存器(软件中断事件寄存器:EXTI_SWIER:20位)→请求挂起寄存器(挂起寄存器:EXTI_PR:20位)→中断屏蔽寄存器(中断屏蔽寄存器:EXTI_IMR:20位)→到NVIC中断控制器

事件流程:

输入线→边沿检测电路→软件中断事件控制寄存器→事件屏蔽寄存器(EXTI_EMR)→脉冲发生器(触发ADC、定时器等)

输入线:

20根,EXTI0-15(GPIO)、EXTI16(PVD输出)、EXTI17(RTC闹钟事件)、
EXTI18(USB唤醒事件)、EXTI19(以太网唤醒事件)

寄存器:AFIO_EXTICR,低16位,高16位保留,4位位1组

使用按键控制LED灯
按键:GPIOC_13
//初始化GPIO
void GPIO_Key_Config(void)
{
  GPIO_InitTypeDef  GPIO_InitStruct;
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); 
  GPIO_InitStruct.GPIO_Pin = GPIO_Pin_13;
  GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN_FLOATING;        
  GPIO_Init(GPIOC, &GPIO_InitStruct);
}
//初始化EXTI
void EXIT_Key_Config(void)
{
  EXTI_InitTypeDef  EXTI_InitStruct;
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
//选择输入线
  GPIO_EXTILineConfig(GPIO_PortSourceGPIOC, GPIO_PinSource13);
//用于产生中断/事件线(20)
  EXTI_InitStruct.EXTI_Line = EXTI_Line13;
//中断/事件模式
  EXTI_InitStruct.EXTI_Mode = EXTI_Mode_Interrupt;
//上升沿触发
  EXTI_InitStruct.EXTI_Trigger = EXTI_Trigger_Rising;
//使能
  EXTI_InitStruct.EXTI_LineCmd = ENABLE;
  EXTI_Init(&EXTI_InitStruct);
}
//
void EXTI_NVIC_Config(void)
{
    NVIC_InitTypeDef NVIC_InitStruct;
//配置优先级分组
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
//选择中断源,stm32f10x.h文件中
    NVIC_InitStruct.NVIC_IRQChannel = EXTI15_10_IRQn;
    NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 1;
    NVIC_InitStruct.NVIC_IRQChannelSubPriority = 1;
    NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStruct);
}
//编写中断服务函数
//启动文件中找到中断服务函数的名称,在stm32f10x_it.c文件中编写
void EXTI15_10_IRQHandler (void)
{
//判断指定的EXTI线路出发是否发生
    if(EXTI_GetITStatus(EXTI_Line13) != RESET)
    {
        LED_B_TOGGLE;
    }
//清除EXTI线路挂起位
    EXTI_ClearITPendingBit(EXTI_Line13);
}

相关文章

  • EXTI

    EXTI:External interrupt/event controller 中断流程: 输入线(软件中断事件...

  • How do Humans Affect the Environ

    How do Humans Affect the Environment Climate change, exti...

  • 听写训练营Day25

    1. A mass extinction is when numerous species become exti...

  • 11.13

    物联网家居系统项目 Lib下 Misc Exti Gpio Rcc Usart Fmc Itdc Ti...

  • 11.13

    物联网家居系统项目 Lib下 Misc Exti Gpio Rcc Usart Fmc Itdc Ti...

  • 2020-04-22 wb_exti

    wb_exti 1) 在wb_ledblink设置基础上 Pinout View PB13...

  • mysql 基本操作

    登陆数据库: mysql -u 用户名 -p ||mysql -u 用户名 -p 密码 退出数据库:exti / ...

  • stm32 EXTI(外部中断)

    外部中断/事件控制器(EXTI) 寄存器描述IMR中断屏蔽寄存器EMR事件屏蔽寄存器RTSR上升沿触发选择寄存器F...

  • Rath-HAL - 获取 EXTI 中断

    器材 1x Tequila Nano + RA_LINK 调试器 电路连接 Tequila NanoPA0 ---...

  • STM32一文通(6) 外部中断

    一. 外部中断/事件控制器 (EXTI) 什么是中断?中断就是打断程序执行顺序的外部输入什么是事件?事件是外部输入...

网友评论

      本文标题:EXTI

      本文链接:https://www.haomeiwen.com/subject/vbdgdktx.html