IOCTL_SERIAL_GET_CHARS
2023-06-19
31
0
在Windows操作系统下的串口通讯中,IOCTL_SERIAL_GET_CHARS 是一个 IOCTL 命令代码,用来获取串口通讯中的字符参数。串口通讯中的字符参数是指串口的控制字符、停止位、奇偶校验位等参数。
通过调用 IOCTL_SERIAL_GET_CHARS 命令可以获取串口通讯接口的参数,包括:
- fCtsFlow:表示是否使用 CTS 流控制
- fDsrFlow:表示是否使用 DSR 流控制
- fDtrControl:表示 DTR 的控制方式
- fRtsControl:表示 RTS 的控制方式
- XonChar:Xon 字符
- XoffChar:Xoff 字符
- ErrorChar:奇偶校验出错时替换的字符
- EofChar:文件结束符
- EvtChar:做为事件触发的字符
该 IOCTL 命令的请求结构体为 SERIAL_CHARS 结构体,该结构体定义在 Winioctl.h 头文件中。
typedef struct _SERIAL_CHARS {
UCHAR EofChar;
UCHAR ErrorChar;
UCHAR BreakChar;
UCHAR EventChar;
UCHAR XonChar;
UCHAR XoffChar;
USHORT Spare1;
} SERIAL_CHARS, *PSERIAL_CHARS;
当驱动程序收到 IOCTL_SERIAL_GET_CHARS 命令时,应当将该串口的相关参数填入 SERIAL_CHARS 结构体中,再将该结构体返回给应用程序。
当应用程序接收到该结构体后,可以通过访问 SERIAL_CHARS 结构体中的各个成员变量获取串口通讯接口的参数。