我正在使用HAL驱动程序和CubeMX生成的代码。在主程序中,我称之为HAL_UART_Receive_IT()
。通过UART(以环回方式连接)传输数据后,我可以看到模块正在接收字节并在寄存器中设置RXNE位。但是没有生成中断?我无法解释为什么。。。在HAL_UART_Receive_IT()
函数中有启用中断的代码,那么怎么了?
您在问题中没有提供足够的信息和代码。无论如何,在您的stm32xx_hal_msp.c文件中,您可以从硬件角度初始化外围设备:确保也启用中断
HAL_NVIC_SetPriority(USART1_IRQn, 0, 1);
HAL_NVIC_EnableIRQ(USART1_IRQn);
然后添加
void USART1_IRQHandler(void)
{
HAL_UART_IRQHandler(&huart1);
}
到您的stm32xx_it.c文件