我正在测试串行端口通信的代码。我现在使用同步 IO 来保持简单。我观察到当 PC 收到 XOFF 时程序暂停,控制台窗口中不再打印。当程序收到 XON 时,它会再次开始运行。
有什么方法可以确定我的程序的串行端口是否早先收到了 XOFF(不管同步和异步 IO),因为在这种情况下,COM 端口驱动程序会阻止端口发送任何字符,我最好在调用之前检查是否收到了 XOFF写文件()。
我认为一种方法是将 ClearCommError() 与 COMSTAT 结构一起使用。这是唯一的方法吗?我通过阅读https://msdn.microsoft.com/en-us/library/ff802693.aspx得到了这种印象。 如果是这样,那肯定是一种奇怪的做法。