我正在使用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文件
1 回答
您没有在问题中提供足够的信息和代码 . 无论如何,在你的stm32xx_hal_msp.c文件中,你从硬件的角度初始化你的外设:一定要启用中断
然后加
到你的stm32xx_it.c文件