野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 17604|回复: 7

想实现LED2闪烁,KEY1触发外部中断点亮LED1。但不能如愿,请指导下~

[复制链接]
发表于 2018-10-24 17:06:54 | 显示全部楼层 |阅读模式
#include "exti.h"
#include "led.h"
#include "key.h"

void delay(uint32_t t)
{
    while(t != 0)
        t--;
}

void EXTIx_Init(void)
{
    GPIO_InitTypeDef    GPIO_InitStructure;
    EXTI_InitTypeDef    EXTI_InitStructure;
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOI, ENABLE);

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
    GPIO_Init(GPIOI, &GPIO_InitStructure);
   
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);       //开SYSCFG时钟

    SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOI, EXTI_PinSource8);   //配置外部时钟重映射
   
    EXTI_InitStructure.EXTI_Line = EXTI_Line8;
    EXTI_InitStructure.EXTI_LineCmd = ENABLE;
    EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
    EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
    EXTI_Init(&EXTI_InitStructure);
   
}

void NVICx_Init(void)
{
    NVIC_InitTypeDef    NVIC_InitStructure;
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
    NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
    NVIC_Init(&NVIC_InitStructure);
}


void EXTI9_5_IRQHandler(void)
{
   
    if (EXTI_GetITStatus(EXTI_Line8) != RESET)
    {
        LED1_ON;
        delay(0xFFFFFF);
    }
    EXTI_ClearITPendingBit(EXTI_Line8);
}




——————————————————————————————————————————————
#include "stm32f4xx.h"
#include "led.h"
#include "key.h"
#include "exti.h"


int main(void)
{
   
    Init_LED1();
    Init_LED2();
    Init_LED4();
    while(1)
    {
        LED2_ON;
        delay(0x3FFFFF);
        LED2_OFF;
        delay(0x3FFFFF);
        
    }
}


回复

使用道具 举报

发表于 2018-10-25 08:41:09 | 显示全部楼层
你的main文件里没有调用按键初始化函数
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-25 13:15:18 | 显示全部楼层
flyleaf 发表于 2018-10-25 08:41
你的main文件里没有调用按键初始化函数

我上传时不小心删了,就算调了也不能实现,还有别的问题么?
回复 支持 反对

使用道具 举报

发表于 2018-10-25 13:33:10 | 显示全部楼层
咸鱼之身 发表于 2018-10-25 13:15
我上传时不小心删了,就算调了也不能实现,还有别的问题么?

仿真看看会不会进中断
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-25 16:39:47 | 显示全部楼层
随风 发表于 2018-10-25 13:33
仿真看看会不会进中断

debug 使用不是太熟练啊
回复 支持 反对

使用道具 举报

发表于 2018-10-25 17:18:47 | 显示全部楼层
咸鱼之身 发表于 2018-10-25 16:39
debug 使用不是太熟练啊

在中断函数里面打个断点,然后run就行,看会不会停在里面
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-25 18:15:51 | 显示全部楼层
非谢家之宝树 发表于 2018-10-25 17:18
在中断函数里面打个断点,然后run就行,看会不会停在里面

按键触发中断啊,不按按键怎么进中断
回复 支持 反对

使用道具 举报

发表于 2018-10-25 19:21:16 | 显示全部楼层
你跑起来才按啊。。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-12-6 12:53 , Processed in 0.056007 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表