首页 文章

未生成STM32 HAL UART RXNE中断

提问于
浏览
2

我正在使用HAL驱动程序和CubeMX生成的代码 . 在主程序中,我打电话给 HAL_UART_Receive_IT() . 通过UART传输数据(以环回方式连接)后,我可以看到模块正在接收字节并在寄存器中设置RXNE位 . 但是没有产生中断?我无法解释为什么......在 HAL_UART_Receive_IT() 函数中有代码启用中断,那有什么不对?

1 回答

  • 5

    您没有在问题中提供足够的信息和代码 . 无论如何,在你的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文件

相关问题