是否可以使用python(或C)将串口的一个引脚连续设置为高电平? 如果是,怎么样?
答案 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
和(如果您需要设置控制线)GetCommState
和SetCommState
。请注意,您传递给CreateFile
的文件名应该与"\\\\.\\COM1"
类似。 .NET的做法是here。您需要构造一个SerialPort
对象,然后访问其属性以设置控制线。