【发布时间】:2010-05-07 06:12:29
【问题描述】:
我需要通过串口控制另一个电路。 (我听说pin 4和pin 7是用来做这个的。如果这些pin不正确,请告诉我什么pin是用来做这些的
我的要求是将这些引脚设置为高或低,并通过 VB6 程序读取它们的电平(高或低)。
关于如何完成任务的任何想法?
【问题讨论】:
标签: vb6 serial-port
我需要通过串口控制另一个电路。 (我听说pin 4和pin 7是用来做这个的。如果这些pin不正确,请告诉我什么pin是用来做这些的
我的要求是将这些引脚设置为高或低,并通过 VB6 程序读取它们的电平(高或低)。
关于如何完成任务的任何想法?
【问题讨论】:
标签: vb6 serial-port
其他答案中有很好的高级建议,但从实际的 POV 来看,它非常简单。有两个控制输入(DSR 和 CTS)和两个控制输出(DTR 和 RTS)。 DTR 位于引脚 4(9 引脚版本),RTS 位于引脚 7。DSR / CTS 位于引脚 6 和 8。
在 VB 窗体上放置一个 Comm Port 对象,并将.CommPort 设置为您的端口号。出于纯粹的逻辑控制目的,您使用什么.Settings(波特率等)并不重要,因为您不会发送和接收任何串行数据,因此只需接受默认值即可。
设置.PortOpen = True,然后根据需要通过将.DTREnable / .RTSEnable 设置为true 或false 来更改DTR 和RTS 输出。您应该在设计时设置这些 False 以避免错误触发。请注意,这些行可能会在 PC 重新启动时被系统切换。
您可以轮询.CTSHolding 和.DSRHolding 属性以检测这些输入的变化,或对.OnComm 事件做出反应,当其中任何一个发生变化时都会发出信号。您仍然需要弄清楚是哪一个导致了该事件,但这只是一个 Select Case。
【讨论】:
您不必担心单个引脚。大多数操作系统都公开了系统调用来为您操作引脚,并且某些语言(包括 VB6)提供了使用这些系统调用的方法。一个快速的谷歌搜索出现了a tutorial,其中包括一些关于引脚的详细信息,如果你有兴趣的话。但是,至少在我看来,this one 看起来更容易理解。
【讨论】:
Richard Grier 的 Visual Basic Programmer's Guide to Serial Communications 是一本涵盖 VB6(和 VB.Net)的好书:可从his website 获得,大约 40 美元加上运费。
looks like 他仍然在VB6 newsgroup 上闲逛,所以这是询问串行编程的好地方。
【讨论】: