STM32F1外部中断的奇葩现象

[复制链接]
 楼主| lgq1542380129 发表于 2016-4-16 11:19 | 显示全部楼层 |阅读模式
外部中断初始化采用库函数,在程序中想屏蔽这个线的外部中断,于是就用了寄存器EXTI->IMR &= ~ EXTI_LineX(X=0)屏蔽改线,打开EXTI->IMR |=  EXTI_LineX(X=0)测试结果发现不行,在库函数初始化中将 EXTI_InitStructure.EXTI_LineCmd = DISABLE;此句屏蔽,发现可以。于是进去EXTI_Init(); 该函数, //tmp = (uint32_t)EXTI_BASE;
else //DISABLE  {
    tmp += EXTI_InitStruct->EXTI_Mode;//EXTI_InitStruct->EXTI_Mode =0

    /* Disable the selected external lines */
    *(__IO uint32_t *) tmp &= ~EXTI_InitStruct->EXTI_Line;
  }


typedef struct
{
  __IO uint32_t IMR;  //偏移0
  __IO uint32_t EMR;
  __IO uint32_t RTSR;
  __IO uint32_t FTSR;
  __IO uint32_t SWIER;
  __IO uint32_t PR;
} EXTI_TypeDef;

不知道是什么问题

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

本版积分规则

22

主题

401

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部

22

主题

401

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部