我在ATKESP866的程序基础上加了个外部中断,但是中断却不能触发。

2019-08-17 03:43发布

本帖最后由 snmsr 于 2017-7-3 16:09 编辑

不知道什么原因,我在别的工程用就可以产生中断。用的PA5引脚
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
snmsr
1楼-- · 2019-08-17 09:30
void EXTIX_Init(void)
{
  EXTI_InitTypeDef EXTI_InitStructure;
        NVIC_InitTypeDef NVIC_InitStructure;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
        GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource5);
        EXTI_InitStructure.EXTI_Line=EXTI_Line5;
        EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;
        EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Rising_Falling;
        EXTI_Init(&EXTI_InitStructure);
       
        NVIC_InitStructure.NVIC_IRQChannel= EXTI9_5_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0x00;
        NVIC_InitStructure.NVIC_IRQChannelSubPriority=0x00;
        NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
        NVIC_Init(&NVIC_InitStructure);
}

void EXTI9_5_IRQHandler(void)
{
LED1=!LED1;
EXTI_ClearITPendingBit(EXTI_Line5);
}
snmsr
2楼-- · 2019-08-17 10:39
void hy_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD;
GPIO_Init(GPIOA,&GPIO_InitStructure);
}
snmsr
3楼-- · 2019-08-17 10:45
我用这个代码放到别的工程里面都是可以触发的。但是wifi模块这个工程不行,不知道为什么,求大神帮忙解决一下
snmsr
4楼-- · 2019-08-17 14:17
唉,试了一天了,就是不知道哪里有问题
ARM学员
5楼-- · 2019-08-17 19:42
 精彩回答 2  元偷偷看……
snmsr
6楼-- · 2019-08-18 01:03
ARM学员 发表于 2017-7-3 17:29
你wifi的那个工程会不会将这个中断引脚初始化了两次,你找一找吧。就是你前面正常的初始化了这个中断引脚 ...

我选的PA5原理图上没有连东西,我再仔细看看。

一周热门 更多>