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