保持传输线高(编辑实际上需要 TX 线低和 RX 线高)
Hold Transmit Line High (EDIT Actually need TX line low and RX line high)
这是个很奇怪的问题。我很确定我有答案,但想确定一下。我有一个独特的案例,我需要保持传输线高和接收线低。有没有办法用 c# 做到这一点,或者我是否需要将其变成机械解决方案?
编辑 #1:代码尝试 1 使线路保持打开状态。
SerialPort serialport = new SerialPort();
serialport.ReadTimeout = 500;
serialport.WriteTimeout = 500;
serialport.PortName = portName;
serialport.BaudRate = 115200;
serialport.StopBits = System.IO.Ports.StopBits.One;
serialport.Parity = System.IO.Ports.Parity.None;
serialport.Open();
while (true)
{
serialport.Write("0xaa");
//second attempt had the next line uncommented.
//System.Threading.Thread.Sleep(1);
}
大多数 USB-to-serial 适配器不允许您控制接收线 (RX)。向 COM 端口发送字节只会控制传输线 (TX)。如果你想让传输线保持高电平,你需要简单地不发送任何字节,因为高电平是它的默认状态(如果我们谈论的是 non-inverted TTL 串行)。
话虽如此,您忘记指定要连接的硬件,因此很难给出适合您需要的真正具体的答案。
这是个很奇怪的问题。我很确定我有答案,但想确定一下。我有一个独特的案例,我需要保持传输线高和接收线低。有没有办法用 c# 做到这一点,或者我是否需要将其变成机械解决方案?
编辑 #1:代码尝试 1 使线路保持打开状态。
SerialPort serialport = new SerialPort();
serialport.ReadTimeout = 500;
serialport.WriteTimeout = 500;
serialport.PortName = portName;
serialport.BaudRate = 115200;
serialport.StopBits = System.IO.Ports.StopBits.One;
serialport.Parity = System.IO.Ports.Parity.None;
serialport.Open();
while (true)
{
serialport.Write("0xaa");
//second attempt had the next line uncommented.
//System.Threading.Thread.Sleep(1);
}
大多数 USB-to-serial 适配器不允许您控制接收线 (RX)。向 COM 端口发送字节只会控制传输线 (TX)。如果你想让传输线保持高电平,你需要简单地不发送任何字节,因为高电平是它的默认状态(如果我们谈论的是 non-inverted TTL 串行)。
话虽如此,您忘记指定要连接的硬件,因此很难给出适合您需要的真正具体的答案。