使用python将串行端口引脚设置为高电平

时间:2010-03-13 15:23:55

标签: python serial-port

是否可以使用python(或C)将串口的一个引脚连续设置为高电平? 如果是,怎么样?

3 个答案:

答案 0 :(得分:12)

使用pyserial方法setRTS(level=True)setDTR(level=True),您可以随意控制RTS和DTR行。例如,以下代码将切换第一个串行端口的RTS引脚。 (有关详细信息,请参阅pyserial文档。)

import time
import serial

ser = serial.Serial(0)
ser.setRTS(False)
time.sleep(0.5)
ser.setRTS(True)
time.sleep(0.5)
ser.setRTS(False)

答案 1 :(得分:2)

是的可能使用pySerial

答案 2 :(得分:1)

如果打开端口,Tx线应该进入高电压状态,如果你从不发送数据,它应该保持该状态(见here)。我从来没有真正试过这个。您可能会发现需要启用其中一个控制线,例如CTR。

至于软件,TheMachineCharmer对pySerial的建议是最独立于平台的方式。如果您使用的是Windows,则会对Win32 API调用进行汇总here。查找CreateFile和(如果您需要设置控制线)GetCommStateSetCommState。请注意,您传递给CreateFile的文件名应该与"\\\\.\\COM1"类似。 .NET的做法是here。您需要构造一个SerialPort对象,然后访问其属性以设置控制线。