未生成STM32 HAL UART RXNE中断

时间:2016-03-27 07:02:41

标签: interrupt stm32 uart hal

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

1 个答案:

答案 0 :(得分:5)

您没有在问题中提供足够的信息和代码。 无论如何,在您的stm32xx_hal_msp.c文件中,您从硬件的角度初始化外设:确保也启用中断

File "/Users/AlexisTuil/Desktop/projet inno/sc_analysis/visualisation.py", line 86, in 
__init__self.canvas = FigureCanvasQTAgg(self.fig)
File "/usr/local/lib/python3.5/site packages/matplotlib/backends/backend_qt4agg.py", line 76, in     
__init__FigureCanvasQT.__init__(self, figure)
File "/usr/local/lib/python3.5/site-packages/matplotlib/backends/backend_qt4.py", line 71, in
__init__QtWidgets.QWidget.__init__(self)
TypeError: __init__() missing 1 required positional argument: 'figure'
Abort trap: 6

然后添加

    HAL_NVIC_SetPriority(USART1_IRQn, 0, 1);
    HAL_NVIC_EnableIRQ(USART1_IRQn);

到你的stm32xx_it.c文件