网上搜索了好多,都是说主函数增加UART_Receive_IT()函数来着,实际正确的是UART_Start_Receive_IT()函数。
参考时间:2024年3月9日
Cube版本:STM32CubeMX 6.8.1版本
参考芯片:STM32G030F6P6
调试人员:李工喜荣,LXR
说实话,不是很喜欢HAL。
在stm32g0xx_it.c文件中,找到了USART2_IRQHandler()函数,特意测试了一下HAL_UART_IRQHandler()其执行时间,单字节,用时9.5us左右,真实气死人。STM32G030F6的主频设置为64MHz。
void USART2_IRQHandler(void)
{
/* USER CODE BEGIN USART2_IRQn 0 */
GPIOB->BSRR =GPIO_PIN_3;
/* USER CODE END USART2_IRQn 0 */
HAL_UART_IRQHandler(&huart2);
/* USER CODE BEGIN USART2_IRQn 1 */
GPIOB->BRR =GPIO_PIN_3;
/* USER CODE END USART2_IRQn 1 */
}