[STM32F1] 外部中断的问题

[复制链接]
893|28
 楼主| huangchui 发表于 2021-3-4 09:34 | 显示全部楼层 |阅读模式
查看了寄存器的值没发现问题 但是不可以用 求大佬指教
#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;        
                 }
         }
chuxh 发表于 2021-3-4 09:42 | 显示全部楼层
到底啥问题,不能用如何不能用
dingy 发表于 2021-3-4 09:48 | 显示全部楼层
编译能通过吗
supernan 发表于 2021-3-4 09:52 | 显示全部楼层

跑个官方的例子。
yinxiangh 发表于 2021-3-4 09:56 | 显示全部楼层
下载cubeF7里面很多例子的。这个HAL库要掌握个基本使用方法。
ousj 发表于 2021-3-4 10:01 | 显示全部楼层
楼主这个中断时什么问题呢?      
dengdc 发表于 2021-3-4 10:04 | 显示全部楼层
是不是外部的中断没有开启呢   
lizye 发表于 2021-3-4 10:08 | 显示全部楼层
楼主可以使用官网的代码进行测试。  
午夜粪车 发表于 2021-3-4 10:12 | 显示全部楼层
外部中断存在什么问题呢?            
wyjie 发表于 2021-3-4 10:16 | 显示全部楼层
STM32F7这个芯片没有使用过。         
yszong 发表于 2021-3-4 10:19 | 显示全部楼层
楼主可以使用stm32cube生成文件呢。   
dingy 发表于 2021-3-4 10:28 | 显示全部楼层
楼主的问题解决了吗?               
xxrs 发表于 2021-3-4 10:32 | 显示全部楼层
现在来看也有可能是硬件的问题了。   
pangb 发表于 2021-3-4 10:36 | 显示全部楼层
软件解决不了吗?                  
ousj 发表于 2021-3-4 10:40 | 显示全部楼层
使用别人配置好的代码进行编写。  
dengdc 发表于 2021-3-4 10:43 | 显示全部楼层
这个代码报错吗?           
jiahy 发表于 2021-3-4 10:49 | 显示全部楼层
参考例子。
 楼主| huangchui 发表于 2021-3-4 10:52 | 显示全部楼层
就是按下之后 能进入中断 但是串口并没有输出数据
 楼主| huangchui 发表于 2021-3-4 10:58 | 显示全部楼层
解决了 但是只有一个按键可以用其他三个却不可以用
liliang9554 发表于 2021-3-4 11:03 | 显示全部楼层
是进不了中断吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

918

主题

12323

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部