2
STM32F0308 Dicovery Board를 사용하고 있습니다. PORTB의 PIN11에 외부 인터럽트를 사용하고 싶습니다. 문제는 내가 PORTB를 호출 할 수 없다는 것입니다. 마이크로 컨트롤러는 여전히 PORTA의 PIN11을 사용합니다. 나는 항구의 핀이 함께 클럽 활동을하지만 PORTB를 여전히 지정하고있다. 마이크로는 PORTA를 사용하고있다. 이 코드 라인stm32f030의 포트 B에서 외부 인터럽트 사용
SYSCFG->EXTICR[3] = SYSCFG_EXTICR3_EXTI11_PB;
에 약간의 문제가 있다고 생각 여기에 당신은 SYSCFG을 위해 시계를 사용하도록 설정해야합니다 코드
#include"stm32f0xx.h"
volatile int portBPin10Counter;
void EXTI4_15_IRQHandler(void)
{
if(EXTI->PR & EXTI_PR_PR11)
{
EXTI->PR |= EXTI_PR_PR11;
portBPin10Counter++;
}
}
int main(void)
{
RCC->AHBENR |=RCC_AHBENR_GPIOBEN;
GPIOB->MODER &= ~GPIO_MODER_MODER11;
GPIOB->PUPDR &= ~GPIO_PUPDR_PUPDR11;
SYSCFG->EXTICR[3] =SYSCFG_EXTICR3_EXTI11_PB;
EXTI->RTSR |= EXTI_RTSR_TR11;
EXTI->IMR |= EXTI_IMR_MR11;
NVIC_EnableIRQ(EXTI4_15_IRQn);
NVIC_SetPriority(EXTI4_15_IRQn,1);
while(1)
{
}
}
HAL이 어떻게 작동하는지 볼 수 있습니다. – JMA