gpt4 book ai didi

windows - 在Windows平台上的C中获取串行端口的DTR和RTS引脚

转载 作者:行者123 更新时间:2023-12-03 11:12:09 28 4
gpt4 key购买 nike

如何在Windows平台上获取串口的DTR和RTS状态?我想读取这两个引脚的当前状态(ON或OFF)。

我可以用设置销钉:

EscapeCommFunction(hSerial,SETRTS);

但是我不知道如何读取引脚状态。

由于在Linux上可以通过以下代码完成,因此我认为这在技术上是可行的:
int status=0;
ioctl(fd, TIOCMGET, &status);
return status & TIOCM_RTS;

最佳答案

使用 inc\api\ntddser.h API和winioctl.h,您可以访问DTR和RTS状态。调用DeviceIoControl,将第二个参数设置为IOCTL_SERIAL_GET_DTRRTS:

称呼:

DeviceIoControl(
handle, // handle returned by CreateFile
IOCTL_SERIAL_GET_DTRRTS,
NULL,
0,
&Status, // pointer to a DWORD variable 1
sizeof(Status),
&unused, // pointer to a DWORD variable
pOverlapped // optional pointer to overlapped buffer (may be NULL)
);

有关 DeviceIoControl here的文档。

关于windows - 在Windows平台上的C中获取串行端口的DTR和RTS引脚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59408368/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com