上QQ阅读APP看书,第一时间看更新
2.2 创建UART设备
本节介绍如何创建UART设备。对UART设备来说,在驱动开发时需要先从struct rt_serial_device结构中派生出新的串口设备模型,然后根据自己的设备类型定义私有数据域。特别是在可能有多个类似设备的情况下(例如串口1、串口2),设备接口可以共用同一套接口,不同的只是各自的数据域(例如寄存器基地址)。
例如,STM32的UART设备模型从struct rt_serial_device派生,并增加了STM32 UART的特有数据结构,如STM32串口句柄、串口配置信息、DMA结构信息等,代码如下所示。
串口驱动根据此类型定义串口设备对象并初始化相关变量,MCU一般都支持多个串口,所以串口驱动也可以支持多个串口设备。以下是在驱动文件中定义多个串口设备的代码片段,其中定义了每个串口的配置信息,如名称、句柄、中断入口等,同时定义了串口配置信息表和串口对象表,包含多个串口对象信息。