El boton de la placa nucleo esta subido a alto a gpioc13 asi que hice la interrupcion en un borde de caida , el codigo sigue entrando en el manejador irq sin que yo presione el boton mi main.c
#include "Board_LED.h"
#include "stm32f401xe.h"
void PIN_CONFG();
void PIN_EN();
void clear();
int main(void) {
LED_Initialize();
PIN_CONFG(13);
PIN_EN(13);
LED_On(0);
while(1){
}
return 0;
}
void delay(void) {
int i;
for(i = 0; i < 5000000; i++) {
}
}
void EXTI15_10_IRQHandler(void) {
clear(13);
LED_On(0);
delay();
LED_Off(0);
delay();
}
mis funciones de interrupción.c
#include "stm32f401xe.h"
void PIN_CONFG(uint16_t pin) {
EXTI->FTSR |= (1 << pin);
}
void PIN_EN(uint16_t pin) {
EXTI->IMR |= (1<<pin);
NVIC_EnableIRQ(40);
}
void clear(uint16_t pin) {
if(EXTI->PR & (1<<pin)) {
EXTI->PR |= (1<<pin);
}
}