реклама на сайте
подробности

 
 
> Внешние прерывания, stm32f4xx
stm32f4
сообщение Dec 6 2012, 09:02
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 45
Регистрация: 11-08-12
Пользователь №: 73 098



Всем привет) Сразу о проблеме, хочу сделать прерывание по изменению состояния ноги 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 !!!!!!!!



Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 14:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01383 секунд с 7
ELECTRONIX ©2004-2016