打印
[STM32F7]

外部中断的问题

[复制链接]
1464|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1154775677|  楼主 | 2019-4-11 17:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "EXIT.h"
#include "delay.h"
#include "key.h"
#include "LED.h"


//ÍⲿÖжϳõʼ»¯
void EXIT_Init()
{
   //ÅäÖÃIO¿Ú
         //ʹÄÜIO¿ÚµÄʱÖÓ
         //ÅäÖÃIO¿ÚµÄģʽ ÊäÈë Êä³ö ¸´Óà ÉÏÀ­ÏÂÀ­ ¿ªÂ©ÍÆÍìµÈģʽ
         GPIO_InitTypeDef GPIO_Initure;
         
         __HAL_RCC_GPIOA_CLK_ENABLE();           //ʹÄÜGPIOAµÄʱÖÓ
   __HAL_RCC_GPIOC_CLK_ENABLE();           //ʹÄÜGPIOBµÄʱÖÓ
   __HAL_RCC_GPIOH_CLK_ENABLE();           //ʹÄÜGPIOHµÄʱÖÓ
        //ÅäÖÃPA0
   GPIO_Initure.Pin = GPIO_PIN_0;
         GPIO_Initure.Mode = GPIO_MODE_IT_RISING;//ÉèÖÃΪÉÏÉýÑØ´¥·¢
         GPIO_Initure.Pull = GPIO_PULLDOWN;      //ÏÂÀ­
         HAL_GPIO_Init(GPIOA, &GPIO_Initure);
        //ÅäÖÃPC13
         GPIO_Initure.Pin = GPIO_PIN_13;
         GPIO_Initure.Mode = GPIO_MODE_EVT_FALLING;//ÉèÖÃϽµÑØ´¥·¢
         GPIO_Initure.Pull = GPIO_PULLUP;          //ÉÏÀ­
         HAL_GPIO_Init(GPIOC,&GPIO_Initure);
        //ÅäÖÃPH2ºÍPH3
         GPIO_Initure.Pin = GPIO_PIN_2 | GPIO_PIN_3;
         HAL_GPIO_Init(GPIOH,&GPIO_Initure);
       
         //ÉèÖÃÖжÏÏßµÄÓÅÏȼ¶
         
         //ÖжÏÏß0
   HAL_NVIC_SetPriority(EXTI0_IRQn,2,0);//ÇÀÕ¼ÓÅÏȼ¶2 ÏìÓ¦ÓÅÏȼ¶0
         HAL_NVIC_EnableIRQ(EXTI0_IRQn);      //ʹÄÜÖжÏ
         //ÖжÏÏß2
         HAL_NVIC_SetPriority(EXTI2_IRQn,2,1);
   HAL_NVIC_EnableIRQ(EXTI2_IRQn);
         //ÖжÏÏß3
         HAL_NVIC_SetPriority(EXTI3_IRQn,2,2);
         HAL_NVIC_EnableIRQ(EXTI3_IRQn);
         //ÖжÏÏß13
         HAL_NVIC_SetPriority(EXTI15_10_IRQn,2,3);
         HAL_NVIC_EnableIRQ(EXTI15_10_IRQn);
         

}
//ÖжϷþÎñº¯Êý
        void EXIT0_IRQHandler()
         {
          HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0);
         }
        void EXIT2_IRQHandler()
         {
         HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_2);
         }
  void EXIT3_IRQHandler()
         {
         HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_3);
         }
   void EXIT13_IRQHandler( )
         {
         HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13);
         }
         
         //»Øµ÷º¯Êý
         //ËùÓеÄÖжϺ¯Êý¶¼Òªµ÷ÓÃ
         void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
         {
                 delay_ms(100);
           switch(GPIO_Pin)
                 {
                         case GPIO_PIN_0:
         if(WK_UP==1)
                                 {                                         
                                         //printf("\r\nWK_UP\r\n");
                                         LED0(0);
                                         LED1(0);
                                 }
                                 break;
                         case GPIO_PIN_2:
                                 if(KEY1==0)
                                 {
                                   printf("\r\nKEY1\r\n");
                                 }
                                 break;
       case GPIO_PIN_3:
         if(KEY0==0)
                                 {
                                   printf("\r\nKEY0\r\n");
                                 }
                                 break;
       case GPIO_PIN_13:
                                 if(KEY2==0)
                                 {
                                         printf("\r\nKEY2\r\n");
                                 }
                                 break;       
                 }
         }


查看了寄存器的值没发现问题 但是不可以用 求大佬指教

使用特权

评论回复
沙发
1154775677|  楼主 | 2019-4-11 17:48 | 只看该作者
实在找不到问题了 有大佬给看看没

使用特权

评论回复
板凳
zhuotuzi| | 2019-4-12 00:00 | 只看该作者
到底啥问题,不能用如何不能用

使用特权

评论回复
地板
zhuotuzi| | 2019-4-12 00:01 | 只看该作者
编译能通过吗

使用特权

评论回复
5
zhuotuzi| | 2019-4-12 00:01 | 只看该作者
跑个官方的例子。

使用特权

评论回复
6
zhuotuzi| | 2019-4-12 00:01 | 只看该作者
下载cubeF7里面很多例子的。这个HAL库要掌握个基本使用方法。

使用特权

评论回复
7
usysm| | 2019-4-12 16:00 | 只看该作者
楼主这个中断时什么问题呢?      

使用特权

评论回复
8
typeof| | 2019-4-12 16:00 | 只看该作者
是不是外部的中断没有开启呢   

使用特权

评论回复
9
yujielun| | 2019-4-12 16:00 | 只看该作者
楼主可以使用官网的代码进行测试。  

使用特权

评论回复
10
htmlme| | 2019-4-12 16:00 | 只看该作者
外部中断存在什么问题呢?            

使用特权

评论回复
11
pklong| | 2019-4-12 16:00 | 只看该作者
STM32F7这个芯片没有使用过。         

使用特权

评论回复
12
touser| | 2019-4-12 16:01 | 只看该作者
楼主可以使用stm32cube生成文件呢。   

使用特权

评论回复
13
myiclife| | 2019-4-12 16:01 | 只看该作者
楼主的问题解决了吗?               

使用特权

评论回复
14
uytyu| | 2019-4-12 16:01 | 只看该作者
现在来看也有可能是硬件的问题了。   

使用特权

评论回复
15
iyoum| | 2019-4-12 16:01 | 只看该作者
软件解决不了吗?                  

使用特权

评论回复
16
jkl21| | 2019-4-12 16:02 | 只看该作者
使用别人配置好的代码进行编写。  

使用特权

评论回复
17
pklong| | 2019-4-12 16:02 | 只看该作者
这个代码报错吗?           

使用特权

评论回复
18
zhuomuniao110| | 2019-4-12 16:55 | 只看该作者
参考例子。

使用特权

评论回复
19
1154775677|  楼主 | 2019-4-12 17:53 | 只看该作者
zhuotuzi 发表于 2019-4-12 00:00
到底啥问题,不能用如何不能用

就是按下之后 能进入中断 但是串口并没有输出数据

使用特权

评论回复
20
1154775677|  楼主 | 2019-4-13 14:35 | 只看该作者
myiclife 发表于 2019-4-12 16:01
楼主的问题解决了吗?

解决了 但是只有一个按键可以用其他三个却不可以用

使用特权

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

本版积分规则

17

主题

48

帖子

0

粉丝