HAL 中断回调函数

Pursue

外部中断回调函数

1
2
3
4
5
6
7
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{ // 按键1检测
if (HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_12) == GPIO_PIN_RESET)
{
/* 用户代码 */
}
}

定时器中断回调函数

1
2
3
4
5
6
7
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
if (htim->Instance == TIM3)
{

}
}

串口中断回调函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
if(huart->Instance == USART2)
{
if(Lora_rxBuffer[0] == 0x5A ) {
HAL_UART_Receive_DMA((UART_HandleTypeDef *)&huart2, (uint8_t *)Lora_rxBuffer, 14);
}
else {
HAL_UART_DMAStop((UART_HandleTypeDef *)&huart2);
HAL_Delay(3);
HAL_UART_Receive_DMA((UART_HandleTypeDef *)&huart2, (uint8_t *)Lora_rxBuffer, 14);
}
}
}
评论