目的是想让KET2作为外部中断,使LED发生变化,下载到板子里怎么没有任何反应?
另外,关于中断的分组自己也好迷,如何确定是哪一组的?每组的写法是什么?写中断服务函数的时候为什么有的可以一起写有的却要单独写一个?
下面是我的程序,是HARDWARE里的.c程序,帮我看看是哪的问题吧,谢谢各位啦!
#include<stm32f10x_lib.h>
#include "exti.h"
#include "led.h"
#include "key.h"
#include "delay.h"
#include "usart.h"
//外部中断2服务程序
void EXTI2_IRQHandler(void)
{
delay_ms(10);//消抖
if(KEY2==0) //按键2
{
LED0=!LED0;
LED1=!LED1;
}
EXTI->PR=1<<2; //清除LINE2上的中断标志位
}
void EXTIX_Init(void)
{
RCC->APB2ENR|=1<<6; //使能PORTE时钟
JTAG_Set(JTAG_SWD_DISABLE);//关闭JTAG和SWD
GPIOE->CRL&=0XFFFFF0FF;//PE2设置成输入
GPIOE->CRL|=0X00000800;
GPIOE->ODR|=1<<2;
Ex_NVIC_Config(GPIO_E,2,FTIR); //下降沿触发
MY_NVIC_Init(2,2,EXTI2_IRQChannel,2); //抢占2,子优先级2,组2
}
|