打印

设置外部中断后定时器中断不进了,什么原因?

[复制链接]
651|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
 /* Configure GPIO pin used as EINT Line */
                //*(volatile uint32_t  *)AFIO_EXTISS0 = 0x0011;
          //*(volatile uint32_t  *)AFIO_EXTISS1 = 0x1021;
                //*(volatile uint32_t  *)AFIO_EXTISS2 = 0xFFF1;
                //*(volatile uint32_t  *)AFIO_EXTISS3 = 0xFF11;
                exti_init(EXTI_0,EXTI_INTERRUPT,EXTI_TRIG_FALLING);
                nvic_irq_enable(EXTI0_IRQn, 1, 1);
                exti_init(EXTI_1,EXTI_INTERRUPT,EXTI_TRIG_FALLING);
                nvic_irq_enable(EXTI1_IRQn, 1, 1);
                exti_init(EXTI_2,EXTI_INTERRUPT,EXTI_TRIG_FALLING);
                nvic_irq_enable(EXTI2_IRQn, 1, 1);
                exti_init(EXTI_3,EXTI_INTERRUPT,EXTI_TRIG_FALLING);
                nvic_irq_enable(EXTI3_IRQn, 1, 1);
                exti_init(EXTI_4,EXTI_INTERRUPT,EXTI_TRIG_FALLING);
                nvic_irq_enable(EXTI4_IRQn, 1, 1);
                exti_init(EXTI_5,EXTI_INTERRUPT,EXTI_TRIG_FALLING);
                nvic_irq_enable(EXTI5_9_IRQn, 1, 1);
                exti_init(EXTI_6,EXTI_INTERRUPT,EXTI_TRIG_FALLING);
                nvic_irq_enable(EXTI5_9_IRQn, 1, 1);
                exti_init(EXTI_7,EXTI_INTERRUPT,EXTI_TRIG_FALLING);
                nvic_irq_enable(EXTI5_9_IRQn, 1, 1);
                exti_init(EXTI_8,EXTI_INTERRUPT,EXTI_TRIG_FALLING);
                nvic_irq_enable(EXTI5_9_IRQn, 1, 1);
                exti_init(EXTI_12,EXTI_INTERRUPT,EXTI_TRIG_FALLING);
                nvic_irq_enable(EXTI10_15_IRQn, 1, 1);
                exti_init(EXTI_13,EXTI_INTERRUPT,EXTI_TRIG_FALLING);
                nvic_irq_enable(EXTI10_15_IRQn, 1, 1);


想读按键,引脚高电平中断,一打开上面的外部中断,定时器中断就没了。

使用特权

评论回复
沙发
Aist2018|  楼主 | 2024-5-7 11:22 | 只看该作者

使用特权

评论回复
板凳
Aist2018|  楼主 | 2024-5-7 11:57 | 只看该作者
   *(volatile uint32_t  *)AFIO_EXTISS0 = 0x0011;
                *(volatile uint32_t  *)AFIO_EXTISS1 = 0x1021;
                exti_init(EXTI_0,EXTI_INTERRUPT,EXTI_TRIG_FALLING);
                nvic_irq_enable(EXTI0_IRQn, 0, 0);
                exti_init(EXTI_1,EXTI_INTERRUPT,EXTI_TRIG_FALLING);
                nvic_irq_enable(EXTI1_IRQn, 0, 0);
                exti_init(EXTI_2,EXTI_INTERRUPT,EXTI_TRIG_FALLING);
                nvic_irq_enable(EXTI2_IRQn, 0, 0);
                exti_init(EXTI_3,EXTI_INTERRUPT,EXTI_TRIG_FALLING);
                nvic_irq_enable(EXTI3_IRQn, 0, 0);
                exti_init(EXTI_4,EXTI_INTERRUPT,EXTI_TRIG_FALLING);
                nvic_irq_enable(EXTI4_IRQn, 0, 0);
               
                exti_init(EXTI_5,EXTI_INTERRUPT,EXTI_TRIG_FALLING);
                nvic_irq_enable(EXTI5_9_IRQn, 0, 0);

                exti_init(EXTI_6,EXTI_INTERRUPT,EXTI_TRIG_FALLING);
                nvic_irq_enable(EXTI5_9_IRQn, 0, 0);


这个定时器中断是有的,一加上                exti_init(EXTI_7,EXTI_INTERRUPT,EXTI_TRIG_FALLING);
                nvic_irq_enable(EXTI5_9_IRQn, 0, 0);就定时器中断没有。这个可是我想读PB7中断,这个还和PA7有关吗?

使用特权

评论回复
地板
Aist2018|  楼主 | 2024-5-7 12:34 | 只看该作者
打开EXTI_7和EXTI_13外部中断就有问题,好像和PA7,PA13有关,可是我想读引脚中断,怎么处理这情况?

使用特权

评论回复
5
Aist2018|  楼主 | 2024-5-7 12:46 | 只看该作者
*(volatile uint32_t  *)AFIO_EXTISS1 = 0x1021; 我已经把中断源设为PB7了,PA7还有影响吗?

使用特权

评论回复
6
qintian0303| | 2024-5-7 13:47 | 只看该作者
没有看出来和定时器中断有什么关系啊?你的外部中断都是如何处理的?

使用特权

评论回复
7
Aist2018|  楼主 | 2024-5-7 14:13 | 只看该作者
外部中断里读GPIO引脚值,EXTI0_IRQHandler到EXTI10_15_IRQHandler都写了,里面清标志位,读引脚值。打开EXTI_7和EXTI_13外部中断就有问题,定时器中断没了,怀疑程序跑飞。其他线的外部中断没问题。麻烦看看上面电路图,这7和13线是怎么回事?

使用特权

评论回复
8
Aist2018|  楼主 | 2024-5-7 14:31 | 只看该作者
或者是打开EXTI_7和EXTI_13外部中断就一直进外部中断吗?

使用特权

评论回复
9
埃娃| | 2024-5-15 22:46 | 只看该作者
这个程序是怎么配置的啊

使用特权

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

本版积分规则

13

主题

70

帖子

0

粉丝