如何抓住COM信号?共同原则

时间:2015-08-14 16:35:43

标签: c# c#-4.0 serial-port serial-communication

我有一个通过WinForms中的COM端口连接到PC的设备。

当设备开启时,我是否始终获得信号?

设备是否向COM端口发送信息,还是必须向设备发送命令才能开始传输数据?

有哪些共同原则?

1 个答案:

答案 0 :(得分:1)

  

有哪些共同原则?

这是非常广泛的。您必须阅读RS232规范,或设备所遵循的任何串行规格(甚至可能是RS485)。对于你的其余问题,让我们假设它是RS232,这是迄今为止最常见的。 Wikipedia has some good information一旦你到达你真正关心的部分;请参阅“数据和控制信号”部分。本文将PC /主机/数据终端称为DTE,将设备称为DCE。

  

当设备开启时,我是否始终获得信号?

有些设备会通过将DSR保持为高电平来通知您已做好准备。在设备执行任何操作之前,可能需要主机将DTR设置为高电平。

来自http://www.tldp.org/HOWTO/Serial-HOWTO-19.html#ss19.2

  

9个引脚中只有3个具有固定分配:发送,接收和   信号地。这由硬件修复,您无法更改它。   但其他信号线由软件控制,可以做(和   几乎任何东西。但是它们只能是两个中的一个   状态:断言(+12伏)或否定(-12伏)。断言是“上”   否定是“关闭”。例如,Linux软件可能会命令DTR   否定,硬件只执行此命令并放-12   DTR引脚上的电压。接收此DTR的调制解调器(或其他设备)   信号可以做各种事情。如果已配置某个调制解调器   当DTR被否定时,它将挂断电话线。其他   在DTR出现的情况下,它可能会忽略此信号或执行其他操作   否定(关闭)。


  

设备是否向COM端口发送信息,或者我必须发送命令

取决于设备。在请求数据之前,某些设备是静默的。有些人在通电后立即将数据发送到主机。设备应包括有关它们使用的引脚的文档,以及应遵循的预期内容。我见过设备文档,提供了关于引脚走高的流程图。