Всем привет. История токова - хочу настроить 2 кнопки на внешние пререрывания (PE3 и PE4), библиотекой CMSIS(важно).
Код настроки представлен внизу. В итоге прерывания не работаю. Подскажите пожалуйста, что же я не так делаю?
Микрокнтроллер: STM32F407VET6
Все Документы(PDF):
1) chrome-extension://efaidnbmnnnibpcajpcglclefindmkaj/https://www.st.com/resource/en/reference_manual/dm00031020-stm32f405-415-stm32f407-417-stm32f427-437-and-stm32f429-439-advanced-arm-based-32-bit-mcus-stmicroelectronics.pdf
2)chrome-extension://efaidnbmnnnibpcajpcglclefindmkaj/https://www.rlocman.ru/i/File/2015/01/17/DM00037051.pdf
3)
Вложение:
Screenshot_3.png [4.08 KiB]
Скачиваний: 52
int main(void)
{
SET_BIT(RCC->AHB1ENR, RCC_AHB1ENR_GPIOEEN);
CLEAR_BIT(GPIOE->MODER, GPIO_MODER_MODE3_0 | GPIO_MODER_MODE3_1);
CLEAR_BIT(GPIOE->MODER, GPIO_MODER_MODE4_0 | GPIO_MODER_MODE4_1);
SET_BIT(RCC->APB2ENR, RCC_APB2ENR_SYSCFGEN);
SET_BIT(SYSCFG->EXTICR[2], SYSCFG_EXTICR1_EXTI3_PE);
SET_BIT(SYSCFG->EXTICR[2], SYSCFG_EXTICR2_EXTI4_PE);
SET_BIT(EXTI->IMR, EXTI_IMR_MR3);
SET_BIT(EXTI->IMR, EXTI_IMR_MR4);
SET_BIT(EXTI->FTSR, EXTI_FTSR_TR3);
SET_BIT(EXTI->FTSR, EXTI_FTSR_TR4);
SET_BIT(EXTI->PR, EXTI_PR_PR3);
SET_BIT(EXTI->PR, EXTI_PR_PR4);
NVIC_SetPriority(EXTI3_IRQn, 15);
NVIC_SetPriority(EXTI4_IRQn, 15);
NVIC_EnableIRQ(EXTI3_IRQn);
NVIC_EnableIRQ(EXTI4_IRQn);
while(1)
{
}
}
//Обработчики прерывания
void EXTI3_IRQHandler(void)
{
uint32_t ver1;
ver1 = 0;
}
void EXTI4_IRQHandler(void)
{
uint32_t ver2;
ver2 = 0;
}