Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Внешние прерывания
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
stm32f4
Всем привет) Сразу о проблеме, хочу сделать прерывание по изменению состояния ноги PC13!!! не могу разобраться что не так(( Вродеб делаю все как и в примере к discovery для ножки PA0, но видимо что-то упустил...
подскажите что не так?

Код
#include "stm32f4xx.h"

void EXTI15_10_IRQHandler(void)
    {
    EXTI->PR        |=EXTI_PR_PR13;
    }

int main(void)
{
    SystemInit();
//***********RCC****************
    RCC->APB2ENR    |=RCC_APB2ENR_SYSCFGEN;
    RCC->AHB1ENR    |= RCC_AHB1ENR_GPIOCEN;

//***********GPIOC**************
    GPIOC->MODER    &=~GPIO_MODER_MODER13;        //INPUT
    GPIOC->PUPDR     &=~GPIO_PUPDR_PUPDR13;        //БЕЗ ПОДТЯЖКИ

//***********SYSCFG*************
    SYSCFG->EXTICR[4] |= SYSCFG_EXTICR4_EXTI13_PC;// PC13

//***********EXTI***************
    EXTI->IMR        |=(EXTI_IMR_MR13);            //РАЗРЕШАЕМ ПРЕРЫВАНИЯ ДЛЯ PC13
    EXTI->RTSR         |=(EXTI_RTSR_TR13);            //ПО СПАДУ
    EXTI->FTSR         |=(EXTI_FTSR_TR13);            //ПО ФРОНТУ

//***********NVIC***************
    NVIC_EnableIRQ(EXTI15_10_IRQn);                //РАЗРЕШАЕМ ПРЕРЫВАНИЯ
    NVIC_SetPriority(EXTI15_10_IRQn,14);        //ПРИОРИТЕТ 14

    while(1)
   {
        IWDG->KR    =0xAAAA;
   }


}


Кстати эта программа ведет себя очень странно!Она все время вылетает в обработчик EXTI15_10_IRQHandler !!!!!!!!



stm32f4
SYSCFG->EXTICR[3] |= SYSCFG_EXTICR4_EXTI13_PC;// PC13
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.