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

 
 
> Не могу настроить прерывание на одну из ног STM32
zheka
сообщение Aug 19 2013, 18:55
Сообщение #1


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Господа, настраиваю на прерывание по спаду ноги STM32F103VG - PA9, PA10, PC15.

Вот код:
Код
///////////////////////////////////////////
// ВНЕШНИЕ ПРЕРЫВАНИЯ
///////////////////////////////////////////

   AFIO->EXTICR[2]|=(AFIO_EXTICR3_EXTI9_PA | AFIO_EXTICR3_EXTI10_PA | AFIO_EXTICR4_EXTI15_PC);
   EXTI->IMR|=(EXTI_IMR_MR9 | EXTI_IMR_MR10 | EXTI_IMR_MR15);
   EXTI->FTSR|=(EXTI_FTSR_TR9 | EXTI_FTSR_TR10 | EXTI_FTSR_TR15);
   NVIC_EnableIRQ (EXTI9_5_IRQn);
   NVIC_EnableIRQ (EXTI15_10_IRQn);


а вот обработчик

Код
void EXTI15_10_IRQHandler(void)
{
if (EXTI->PR & (1<<10))
   {    
     EXTI_ClearITPendingBit(EXTI_Line10);            
   }
  
if (EXTI->PR & (1<<15))
   {    
     OneWire_flag=1;     
    EXTI_ClearITPendingBit(EXTI_Line15);    

   }    
    
NVIC_ClearPendingIRQ(EXTI15_10_IRQn);
}


ножки порта A ловят спад сигнала, а вот PC15 молчит. Что я настроил не так?

Попутно вопрос - у меня на PC15 1wire сидит, естественно, эта нога постоянно переключатеся со входа на выход и наоборот. Нужно ли в моменты этих переходов как то включать, выключать прерывания?
Go to the top of the page
 
+Quote Post



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

 


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


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