野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 20092|回复: 1

外部中断标志位

[复制链接]
发表于 2015-12-4 17:55:28 | 显示全部楼层 |阅读模式
如果用到了两个GPIOB12和GPIOD12的中断向量,那怎么判断是否产生了EXTI_LINE?我在中断服务子程序中怎么写?

/* EXTI line gpio config(PB12) */
     GPIO_InitStructure.GPIO_Pin = PIN_KEY10 ;
     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
     GPIO_Init(PORT_KEY10, &GPIO_InitStructure);
/* EXTI line(PB12) mode config */
    GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource12);
    EXTI_InitStructure.EXTI_Line = EXTI_Line12;
    EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
    EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
    EXTI_InitStructure.EXTI_LineCmd = ENABLE;
    EXTI_Init(&EXTI_InitStructure);

        /* EXTI line gpio config(PD12) */       
  GPIO_InitStructure.GPIO_Pin = PIN_KEY4 ;      
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  GPIO_Init(PORT_KEY4, &GPIO_InitStructure);

        /* EXTI line(PD12) mode config */
  GPIO_EXTILineConfig(GPIO_PortSourceGPIOD, GPIO_PinSource12);
  EXTI_InitStructure.EXTI_Line = EXTI_Line12;
  EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
  EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
  EXTI_InitStructure.EXTI_LineCmd = ENABLE;
  EXTI_Init(&EXTI_InitStructure);

回复

使用道具 举报

发表于 2015-12-4 18:06:12 | 显示全部楼层
STM32F4 不支持同时配置PA0 PB0之类的同引脚号不同端口的中断。

F1我已经忘记以前有没测试过了。
如果支持,你可以在中断服务程序中添加GPIO引脚电平检测,进了中断之后检测两个引脚的电平,从而区分是哪个引脚引起的中断不支持的话就没办法了,同引脚号的中断只能有一个
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-12-7 00:48 , Processed in 0.040914 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表