STM32外部中断配置流程

外部中断配置与串口中断配置对比

外部中断 串口中断
0 0.配置串口Instance,波特率,收发模式等HAL_UART_Init()
1.使能中断调用的IO口的时钟 1.使能串口时钟和串口使用的IO口时钟
2.配置GPIO口尤其是触发方式Mode(上升下降沿) 2.配置GPIO口尤其是Alternate复用串口号
3.设置中断优先级,并使能中断通道HAL_NVIC_EnableIRQ();HAL_NVIC_SetPriority(); 3.串口接收中断优先级配置和使能:HAL_NVIC_EnableIRQ();HAL_NVIC_SetPriority();
4. 4.使能串口接收中断:HAL_UART_Receive_IT();
5.编写中断服务函数EXTIx_IRQHandler();函数中调用外部中断通用处理函数HAL_GPIO_EXTI_IRQHandler() 5.编写中断服务函数USARTx_IRQHandler(GPIO_PIN);函数中调用串口中断通用处理函数HAL_UART_IRQHandler(&uartx);
6.编写外部中断回调函数:HAL_GPIO_EXTI_Callback; 6.编写串口中断回调函数HAL_UART_RxCpltCallback();
7.在外部中断回调函数中选择是哪一个外部中断switch(GPIO_Pin) 7.在串口中断回调函数中选择是哪一个串口的中断if(huart->Instance==USART1)

你可能感兴趣的:(STM32)