Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我将 HAL 驱动程序与 CubeMX 生成的代码一起使用。在主程序中,我调用了HAL_UART_Receive_IT(). 通过 UART(以环回方式连接)传输数据后,我可以看到模块正在接收字节并在寄存器中设置 RXNE 位。但是没有产生中断?我无法解释为什么......在HAL_UART_Receive_IT()函数中有代码启用中断,那么出了什么问题?
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 文件