打印

STM32F1外部中断的奇葩现象

[复制链接]
781|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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

粉丝