2020-10-16 02:43 AM
msp.c has a callback definition
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
HW_GPIO_IrqHandler(GPIO_Pin);
}
it.c has the following
void EXTI4_15_IRQHandler(void)
{
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_4);
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_5);
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_6);
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_7);
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_8);
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_9);
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_10);
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_11);
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_12);
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13);
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_14);
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_15);
}
this is my implementation
void HW_Init(void)
{
GPIO_InitTypeDef GPIO_InitStruct = { 0 };
__HAL_RCC_GPIOC_CLK_ENABLE();
GPIO_InitStruct.Pin = GPIO_PIN_12;
GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init (GPIOC, &GPIO_InitStruct);
HAL_NVIC_SetPriority(EXTI4_15_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(EXTI4_15_IRQn);
}
I want to toggle an led whenever there is an interrupt, where can i implement this call back
2020-10-16 05:36 AM
This is typically done in HAL_GPIO_EXTI_Callback.
2020-10-16 08:10 AM
You can also use HW_GPIO_SetIrq() from hw_gpio.c. This allows you to pass the int priority as a parameter and calls HAL_NVIC_SetPriority() and HAL_NVIC_EnableIRQ().