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

 
 
> Прерывание от PE13, STM32F4Discovery
Vladislav_Minsk
сообщение Jan 8 2013, 13:24
Сообщение #1


Участник
*

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



Добрый день.
Организовать прерывание от лапы PA0 получилось. Решил попробовать от PE13 и столкнулся с непонятными явлениями.
При отладке в регистрах отчётливо водно что при появлении 1 на лапе PE13 флаг в регистре прерываний устанавливается, через некоторое время сам сбрасывается, но перехода к функции обработчику прерывания не происходит.
Тактирование настроено точно, лапы настроены точно.
вот куски программы, в которых я сомневаюсь:
/* PE13 configuration interrupt set */
SYSCFG->EXTICR[3] |= (0x4<<4); // PE ports input set
EXTI->IMR |= (1<<13); // MR13 interrupt request from line 13 is not masked
EXTI->RTSR |= (1<<13); // TR13 rising trigger enabled for input line
NVIC_EnableIRQ(EXTI3_IRQn); // EXTI3 interrupt enable
А вот сама функция:
/* Function for PE13 interrupt event */
void EXTI3_IRQHandler(void)
{
GPIOE->ODR |= (1<<4); // PE4 set 1
return; // return in main programm
}
Писал EXTI3_IRQn, а не EXTI4_IRQn, потому что их как оказалось 5 штук начиная с 0:
EXTI0_IRQn = 6, /*!< EXTI Line0 Interrupt */
EXTI1_IRQn = 7, /*!< EXTI Line1 Interrupt */
EXTI2_IRQn = 8, /*!< EXTI Line2 Interrupt */
EXTI3_IRQn = 9, /*!< EXTI Line3 Interrupt */
EXTI4_IRQn = 10, /*!< EXTI Line4 Interrupt
В общем не понимаю, что происходит, может кто-нибудь попробует сформировать прерывание на этой ноге...
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 16:38
Рейтинг@Mail.ru


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