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

 
 
> Прерывания не срабатывают на нужной кнопке, stm32f103ve
magals
сообщение Jan 15 2015, 09:32
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 15-01-15
Пользователь №: 84 603



Изучаю тему с прерываниями/ Есть stm32f103ve к ноге PD12 установлена кнопка, при нажатии должно срабатывать прерывание.
код:
Код
int main() {
        RCC->APB2ENR |= RCC_APB2Periph_GPIOD;
        GPIOD->CRL |= 0x04;
        GPIOD->CRL &= ~0xb;

        AFIO->EXTICR [0] = AFIO_EXTICR4_EXTI12_PD;
        EXTI->FTSR |= EXTI_FTSR_TR0;
        EXTI->IMR |= EXTI_IMR_MR0;
        NVIC_EnableIRQ (EXTI0_IRQn);

  while(1)
  {
     //Программа ничего не делает в пустом цикле
  }
}
// Обработчик прерывания EXTI0
void EXTI0_IRQHandler(void)
{
         if (EXTI->PR & (1<<0)) //проверяем прерывание от EXTI0
         {
                 GPIOC->BRR = GPIO_BRR_BR8;//тушим светодиод
                 EXTI->PR |= EXTI_PR_PR1; //сброс флага прерывания
         }
}

но прерывание срабатывает на ножке PA0. где я ошибся?

Сообщение отредактировал IgorKossak - Jan 15 2015, 11:14
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!
Go to the top of the page
 
+Quote Post



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

 


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


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