我有一个通过WinForms中的COM端口连接到PC的设备。
当设备开启时,我是否始终获得信号?
设备是否向COM端口发送信息,还是必须向设备发送命令才能开始传输数据?
有哪些共同原则?
答案 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端口发送信息,或者我必须发送命令
取决于设备。在请求数据之前,某些设备是静默的。有些人在通电后立即将数据发送到主机。设备应包括有关它们使用的引脚的文档,以及应遵循的预期内容。我见过设备文档,提供了关于引脚走高的流程图。