
上QQ阅读APP看书,第一时间看更新
2.5 UART设备中断处理
UART设备驱动需要将对应的中断事件通知给UART设备驱动框架,让驱动框架完成后续的数据收发处理等事情。UART设备中断处理需要使用UART设备驱动库的中断处理函数调用RT-Thread UART设备驱动框架提供的rt_hw_serial_isr函数,从而通知UART设备驱动框架对应中断的发生。rt_hw_serial_isr()中断处理函数的原型如下所示:

rt_hw_serial_isr中断处理函数的参数如表2-7所示。
表2-7 rt_hw_serial_isr中断处理函数的参数

根据不同的中断事件,event可取以下值:

来看一个STM32 UART设备中断处理示例。在如下所示的代码中,使用STM32 UART驱动库的中断处理函数USARTx_IRQHandler调用RT-Thread UART设备驱动框架提供的rt_hw_serial_isr中断处理函数,以完成中断的对接,且在进入与退出中断时需要调用中断进入和中断退出函数。

