以前版本的 Windows - 串行控制器驱动程序概述
Windows 为传统串行控制器设备提供驱动程序支持。 术语串行控制器是指 16550 通用异步接收器-发送器 (UART) 或兼容设备。 串行控制器有一个串行端口,可通过该端口与串行连接的外围设备通信。 为支持串行通信,Windows 包括 Serial.sys 和 Serenum.sys 驱动程序,以及串行框架扩展(SerCx 和 SerCx2)的第 1 版和第 2 版。
SerCx
在 Windows 8 中,SerCx 是系统提供的一个组件,支持印刷电路板上集成电路之间的串行通信。 SerCx 是内核模式驱动程序框架 (KMDF) 的扩展。 此扩展简化了串行控制器的自定义驱动程序的开发。 SerCx 可协助基于扩展的串行控制器驱动程序处理串行控制器常见的许多处理任务。 此驱动程序通过 SerCx 设备驱动程序接口与 SerCx 通信。
SerCx2
从 Windows 8.1 开始,SerCx 被 SerCx2 取代。 为减少串行控制器驱动程序的大小和复杂性,SerCx2 相比 SerCx 进行了许多改进。 特别是,SerCx2 减轻了串行控制器驱动程序管理超时所需的处理工作,并协调争用对串行控制器访问权限的 I/O 事务。 因此,串行控制器驱动程序更小、更简单。 串行控制器的硬件供应商提供基于扩展的串行控制器驱动程序,它用于管理串行控制器中的特定于硬件的功能,并依赖于 SerCx2 来执行通用串行控制器任务。 该驱动程序通过 SerCx2 设备驱动程序接口与 SerCx2 通信。
有关 SerCx2 的详细信息,请参阅使用串行框架扩展版本 2 (SerCx2)。
有关驱动程序框架的一般信息,请参阅使用 WDF 开发驱动程序
Serial.sys 和 Serenum.sys
在 Windows 2000 等旧版本中,系统提供的串行驱动程序 Serial.sys 支持独立串行端口、COM 端口和多端口板。 系统提供的串行枚举驱动程序 Serenum.sys 会枚举连接到由 Serial.sys 或兼容串行端口驱动程序控制的串行端口的设备。 Serial.sys 通常控制运行 Windows 的电脑机箱上的 COM 端口(通常命名为 COM1、COM2 等)。 这些端口与 RS-232 标准松散地保持一致,但也纳入了为支持电脑而发展起来的事实标准(例如,电压水平、引脚连接和硬件流量控制)。 有关详细信息,请参阅使用Serial.sys和Serenum.sys。
GitHub 上的 Windows 驱动程序示例资源库包含 Serial 和 Serenum 驱动程序示例的源代码,其操作类似于并可代替 inbox Serial.sys 和 Serenum.sys 驱动程序进行安装。