打印

帮我看看这个io中断为什么不能正常触发!

[复制链接]
2174|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
rwdx|  楼主 | 2008-7-17 23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
定义:
#define RDATA_PIN               GPIO_Pin_7
#define RDATA_EXTI_LINE         EXTI_Line7
#define RDATA_PIN_SOURCE        GPIO_PinSource7

初始化:
    GPIO_InitTypeDef GPIO_InitStructure;
    EXTI_InitTypeDef EXTI_InitStructure;

    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Pin =  RDATA_PIN;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
    GPIO_Init(GPIOB, &GPIO_InitStructure);

    GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, RDATA_PIN_SOURCE);
    EXTI_InitStructure.EXTI_Line = RDATA_EXTI_LINE;
    EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
    EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling;
    EXTI_InitStructure.EXTI_LineCmd = ENABLE;
    EXTI_Init(&EXTI_InitStructure);

中断处理:
    if (EXTI_GetITStatus(RDATA_EXTI_LINE) != RESET)
    {
        EXTI_ClearITPendingBit(RDATA_EXTI_LINE);
    }

问题:
程序一开始就进入中断N次,N次后就没了,外部io脚一直无法进行触发,不知道是哪不对,请大家帮忙看看
沙发
rwdx|  楼主 | 2008-7-17 23:04 | 只看该作者

问题似乎找到了

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO | RCC_APB2Periph_SPI1, ENABLE);
}

好像必须设置这项:RCC_APB2Periph_AFIO

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

85

帖子

1

粉丝