欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

windwos下,串口怎么获取第四pin 的 dtr 信号

更新时间: 2014-01-05 03:14:35 责任编辑: Author_N1

 

Windwos下,串口如何获取第四pin 的 DTR 信号?
Windows 下,操作串口,如何 获取 DTR 引脚的信号?
--参考方法--
在 comm 事件里 就没有 DTR :

#define EV_RXCHAR           0x0001  // Any Character received
#define EV_RXFLAG           0x0002  // Received certain character
#define EV_TXEMPTY          0x0004  // Transmitt Queue Empty
#define EV_CTS              0x0008  // CTS changed state
#define EV_DSR              0x0010  // DSR changed state
#define EV_RLSD             0x0020  // RLSD changed state
#define EV_BREAK            0x0040  // BREAK received
#define EV_ERR              0x0080  // Line status error occurred
#define EV_RING             0x0100  // Ring signal detected
#define EV_PERR             0x0200  // Printer error occured
#define EV_RX80FULL         0x0400  // Receive buffer is 80 percent full
#define EV_EVENT1           0x0800  // Provider specific event 1
#define EV_EVENT2           0x1000  // Provider specific event 2

--参考方法--
你这代码有点不对的地方:

 代码中 CreateEvent 创建的事件对象是手动置信号的,初始为无信号,而在二级线程里有 ResetEvent,但是,没有看到哪里有 SetEvent。这肯定不对。

--参考方法--
你代码中有几处逻辑错误:
我看了一下:
WaitCommEvent 第一个参数是串口句柄,不应该是事件句柄,而且,我个人感觉,楼主没有必要再增加一个事件对象了,因为 SetCommMask就是针对串口事件的呀。
还有,你一个hCom ,在主线程中是 COM3,在二级线程中怎么又CreateFile COM4了呢? 这根本就没有打开两个串口呀……
楼主应该再多努力练习呀
--参考方法--
其实,我在你的帖子中,看到 schlafenhamster 这位朋友已经帮你把代码贴出来了,我看了一下他的代码,没发现什么问题,但是我再看你的代码,发现了一些问题,只是把你们之间的差异说出来而已,真正帮助你决绝问题的,是 schlafenhamster 这位朋友。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:14:35
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/19978/
本文WWW.DOC100.NET DOC100.NET版权所有。