Arm 将引脚配置为中断臂M3 STM32F1xx
我试图将引脚PD3配置为外部中断,这是我的配置,但它似乎不起作用。所以我定义了所有东西并对其进行了配置,但仍然无法使中断在下降沿或上升沿工作Arm 将引脚配置为中断臂M3 STM32F1xx,arm,interrupt,cortex-m3,Arm,Interrupt,Cortex M3,我试图将引脚PD3配置为外部中断,这是我的配置,但它似乎不起作用。所以我定义了所有东西并对其进行了配置,但仍然无法使中断在下降沿或上升沿工作 void Configure_PD3(void) { GPIO_InitTypeDef GPIO_InitStruct; /* GPIO Ports Clock Enable */ RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOD,ENABLE); // enables cloc
void Configure_PD3(void) {
GPIO_InitTypeDef GPIO_InitStruct;
/* GPIO Ports Clock Enable */
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOD,ENABLE); // enables clock to portD
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_10MHz;
/*Configure GPIO pin : PD3 */
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_3;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOD, &GPIO_InitStruct);
/* PD3 is connected to EXTI_Line3 */
EXTI_InitStruct.EXTI_Line = EXTI_Line3;
/* Enable interrupt */
EXTI_InitStruct.EXTI_LineCmd = ENABLE;
/* Interrupt mode */
EXTI_InitStruct.EXTI_Mode = EXTI_Mode_Interrupt;
/* Triggers on rising and falling edge */
EXTI_InitStruct.EXTI_Trigger = EXTI_Trigger_Rising_Falling;
/* Add to EXTI */
EXTI_Init(&EXTI_InitStruct);
/* EXTI interrupt init*/
NVIC_SetPriority(EXTI3_IRQn, 0);
NVIC_EnableIRQ(EXTI3_IRQn);
}
void EXTI3_IRQHandler(void)
{
int i = 0;
}
void main() {
// Don't put any variables on the stack here, as FreeRTOS seems to reuse this space.
// This might be valid as this thread will be dead after vTaskStartScheduler().
hardware_init();
Co
nfigure_PD3();
}
是的,我现在就在这里。我不知道上面的代码是否丢失了一些东西,或者我假设这不是你真正的主代码,因为你会从底部掉下来?是的,这就是我现在的位置。我不知道上面的代码是否丢失了一些东西,或者我假设这不是您的实际主代码,因为您会从底部掉下来?