我想知道是否以及如何可以直接从 win32(旧的 C-API)控制 RS-232 握手线。
我想与外部硬件连接,两条简单的数据线就足以满足我的需求。
那么 - win32 是否有一个 API 可以让我读取和写入四个状态行的状态?在正常串行通信中,握手线由 UART 自动驱动(如果启用了硬件握手)。
我记得在DOS下这是微不足道的。只需直接对 UART 进行编程即可。这个功能在 win32 中是否还存在?
最佳答案
您可以使用SetCommState()
控制RTS和DTR。您还可以进行设置,让硬件或驱动程序处理硬件流控制(CTS 和/或 DSR),或者您可以使用 SetCommMask()
进行设置,以便在这些信号发生变化时收到事件。
这里有一个不错的概述:http://msdn.microsoft.com/en-us/library/ms810467.aspx
请注意,Win32 串行通信 API 和/或驱动程序可能很挑剔,因此请准备好对线路上发生的情况进行一些调试。
关于winapi - RS232(Com 端口)RTS/CTS/DTR/DSR 的低级控制可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/820817/