打印
[STM32F1]

中断问题

[复制链接]
760|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
七颗咖啡豆|  楼主 | 2015-8-14 09:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
TI, ni, IO, pi, ST

T_Usart1_Config(9600);
EXTIX_Init();

  main()
{
  while(1)
  {
                    Delay_us(500);
                GPIO_ResetBits(GPIOE,GPIO_Pin_12);
                Delay_us(500);
                GPIO_SetBits(GPIOE,GPIO_Pin_12);
  }
}

void EXTI3_IRQHandler(void)
{
        T_Sendschar(USART1,0xaa);//进中断就发AA
    if(EXTI_GetITStatus(EXTI_Line3) != RESET)
    {

    }
        EXTI_ClearITPendingBit(EXTI_Line3);

}

//中断线3
void EXTIX_Init(void)
{
        EXTI_InitTypeDef EXTI_InitStructure;
        NVIC_InitTypeDef NVIC_InitStructure;
        /* 开启AFIO的时钟 */
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
   //GPIO_EXTILineConfig(GPIO_PortSourceGPIOC, GPIO_PinSource9);
    EXTI_InitStructure.EXTI_Line = EXTI_Line3;                           //中断线
    EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;                 //中断模式
           EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;  //下降沿触发
    EXTI_InitStructure.EXTI_LineCmd = ENABLE;
    EXTI_Init(&EXTI_InitStructure);

   /* 软件中断3号线*/  
    NVIC_InitStructure.NVIC_IRQChannel = EXTI3_IRQn;         //使能按键所在的外部中断通道
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02;   //抢占优先级为1
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x02;                  //子优先级3
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);       
}


复位后啥都不干串口一直发出AA
沙发
七颗咖啡豆|  楼主 | 2015-8-14 09:31 | 只看该作者
灯正常闪烁

使用特权

评论回复
板凳
七颗咖啡豆|  楼主 | 2015-8-14 09:40 | 只看该作者
void EXTI3_IRQHandler(void)
{
      
    if(EXTI_GetITStatus(EXTI_Line3) != RESET)
    {
       T_Sendschar(USART1,0xaa);//进中断就发AA
    }
        EXTI_ClearITPendingBit(EXTI_Line3);

}
这样也一直发送AA ,根本没有触发中断,我都没有接到引脚上。

使用特权

评论回复
地板
songchenping| | 2015-8-14 10:00 | 只看该作者
你清除的是什么标志位啊

使用特权

评论回复
5
songchenping| | 2015-8-14 10:00 | 只看该作者
你清除的是什么标志位啊

使用特权

评论回复
6
七颗咖啡豆|  楼主 | 2015-8-14 10:21 | 只看该作者
谢谢大家,虽然人少;问题已经解决。
我是用的软件中断,挂在中断3号线上。之前一直进中断的原因是:设置了下降沿触发,写寄存器(库里没提供,不对其进行初始化应该默认为0, 也可以)改为都不触发就OK了。

使用特权

评论回复
7
七颗咖啡豆|  楼主 | 2015-8-14 10:22 | 只看该作者
songchenping 发表于 2015-8-14 10:00
你清除的是什么标志位啊

我开始也怀疑是标志位的问题。

使用特权

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

本版积分规则

51

主题

508

帖子

4

粉丝