本文整理汇总了C#中ICommsSerial.Open方法的典型用法代码示例。如果您正苦于以下问题:C# ICommsSerial.Open方法的具体用法?C# ICommsSerial.Open怎么用?C# ICommsSerial.Open使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ICommsSerial
的用法示例。
在下文中一共展示了ICommsSerial.Open方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Terminal_Load
private void Terminal_Load(object sender, EventArgs e)
{
try
{
MainV2.comPort.giveComport = true;
comPort = MainV2.comPort.BaseStream;
if (comPort.IsOpen)
comPort.Close();
comPort.ReadBufferSize = 1024 * 1024;
comPort.PortName = MainV2.comPortName;
comPort.BaudRate = int.Parse(MainV2._connectionControl.CMB_baudrate.Text);
comPort.Open();
comPort.toggleDTR();
comPort.DiscardInBuffer();
Console.WriteLine("Terminal_Load");
System.Threading.Thread t11 = new System.Threading.Thread(delegate()
{
threadrun = true;
Console.WriteLine("Terminal thread start");
// 10 sec
waitandsleep(10000);
Console.WriteLine("Terminal thread 1");
// 100 ms
readandsleep(100);
Console.WriteLine("Terminal thread 2");
try
{
if (!inlogview)
comPort.Write("\n\n\n");
// 1 secs
if (!inlogview)
readandsleep(1000);
if (!inlogview)
comPort.Write("\r\r\r?\r");
}
catch (Exception ex) { Console.WriteLine("Terminal thread 3 " + ex.ToString()); threadrun = false; return; }
Console.WriteLine("Terminal thread 3");
while (threadrun)
{
try
{
System.Threading.Thread.Sleep(10);
if (inlogview)
continue;
if (!comPort.IsOpen)
break;
if (comPort.BytesToRead > 0)
{
comPort_DataReceived((object)null, (SerialDataReceivedEventArgs)null);
}
}
catch (Exception ex) { Console.WriteLine("Terminal thread 4 " + ex.ToString()); }
}
threadrun = false;
try
{
comPort.DtrEnable = false;
}
catch { }
try
{
Console.WriteLine("term thread close");
comPort.Close();
}
catch { }
Console.WriteLine("Comport thread close");
});
t11.IsBackground = true;
t11.Name = "Terminal serial thread";
t11.Start();
// doesnt seem to work on mac
//comPort.DataReceived += new SerialDataReceivedEventHandler(comPort_DataReceived);
TXT_terminal.AppendText("Opened com port\r\n");
inputStartPos = TXT_terminal.SelectionStart;
}
catch (Exception) { TXT_terminal.AppendText("Cant open serial port\r\n"); return; }
//.........这里部分代码省略.........
示例2: BUT_connect_Click
private void BUT_connect_Click(object sender, EventArgs e)
{
if (comPort.IsOpen)
{
threadrun = false;
comPort.Close();
BUT_connect.Text = Strings.Connect;
}
else
{
try
{
switch (CMB_serialport.Text)
{
case "NTRIP":
comPort = new CommsNTRIP();
CMB_baudrate.SelectedIndex = 0;
break;
case "TCP Client":
comPort = new TcpSerial();
break;
case "UDP Host":
comPort = new UdpSerial();
break;
case "UDP Client":
comPort = new UdpSerialConnect();
break;
default:
comPort = new SerialPort();
comPort.PortName = CMB_serialport.Text;
break;
}
}
catch
{
CustomMessageBox.Show(Strings.InvalidPortName);
return;
}
try
{
comPort.BaudRate = int.Parse(CMB_baudrate.Text);
}
catch
{
CustomMessageBox.Show(Strings.InvalidBaudRate);
return;
}
try
{
comPort.Open();
}
catch (Exception ex)
{
CustomMessageBox.Show("Error Connecting\nif using com0com please rename the ports to COM??\n" + ex.ToString());
return;
}
t12 = new System.Threading.Thread(new System.Threading.ThreadStart(mainloop))
{
IsBackground = true,
Name = "injectgps"
};
t12.Start();
BUT_connect.Text = Strings.Stop;
}
}
示例3: Log_Load
private void Log_Load(object sender, EventArgs e)
{
status = serialstatus.Connecting;
comPort = GCSViews.Terminal.comPort;
try
{
Console.WriteLine("Log_load " + comPort.IsOpen);
if (!comPort.IsOpen)
comPort.Open();
//Console.WriteLine("Log dtr");
//comPort.toggleDTR();
Console.WriteLine("Log discard");
comPort.DiscardInBuffer();
Console.WriteLine("Log w&sleep");
try
{
// try provoke a response
comPort.Write("\n\n?\r\n\n");
}
catch
{
}
// 10 sec
waitandsleep(10000);
}
catch (Exception ex)
{
log.Error("Error opening comport", ex);
CustomMessageBox.Show("Error opening comport");
return;
}
var t11 = new System.Threading.Thread(delegate()
{
var start = DateTime.Now;
threadrun = true;
if (comPort.IsOpen)
readandsleep(100);
try
{
if (comPort.IsOpen)
comPort.Write("\n\n\n\nexit\r\nlogs\r\n"); // more in "connecting"
}
catch
{
}
while (threadrun)
{
try
{
updateDisplay();
System.Threading.Thread.Sleep(1);
if (!comPort.IsOpen)
break;
while (comPort.BytesToRead >= 4)
{
comPort_DataReceived((object) null, (SerialDataReceivedEventArgs) null);
}
}
catch (Exception ex)
{
log.Error("crash in comport reader " + ex);
} // cant exit unless told to
}
log.Info("Comport thread close");
}) {Name = "comport reader", IsBackground = true};
t11.Start();
// doesnt seem to work on mac
//comPort.DataReceived += new SerialDataReceivedEventHandler(comPort_DataReceived);
}
示例4: start_Terminal
private void start_Terminal(bool px4)
{
try
{
MainV2.comPort.giveComport = true;
comPort = MainV2.comPort.BaseStream;
if (comPort.IsOpen)
{
threadrun = false;
// if (DialogResult.Cancel == CustomMessageBox.Show("The port is open\n Continue?", "Continue", MessageBoxButtons.YesNo))
{
// return;
}
comPort.Close();
// allow things to cleanup
System.Threading.Thread.Sleep(200);
}
comPort.ReadBufferSize = 1024 * 1024;
comPort.PortName = MainV2.comPortName;
// test moving baud rate line
log.Info("About to open " + comPort.PortName);
comPort.Open();
comPort.BaudRate = int.Parse(MainV2._connectionControl.CMB_baudrate.Text);
if (px4)
{
TXT_terminal.AppendText("Rebooting");
// check if we are a mavlink stream
byte[] buffer = MainV2.comPort.readPacket();
if (buffer.Length > 0)
{
log.Info("got packet - sending reboot via mavlink");
MainV2.comPort.giveComport = true;
MainV2.comPort.doReboot(false);
try
{
comPort.Close();
}
catch { }
}
else
{
log.Info("no packet - sending reboot via console");
MainV2.comPort.giveComport = true;
MainV2.comPort.BaseStream.Write("exit\rreboot\r");
try
{
comPort.Close();
}
catch { }
}
MainV2.comPort.giveComport = true;
TXT_terminal.AppendText("Waiting for reboot");
// wait 7 seconds for px4 reboot
log.Info("waiting for reboot");
DateTime deadline = DateTime.Now.AddSeconds(8);
while (DateTime.Now < deadline)
{
System.Threading.Thread.Sleep(100);
Application.DoEvents();
}
int a = 0;
// while (a < 5)
{
try
{
comPort.Open();
}
catch { }
System.Threading.Thread.Sleep(200);
a++;
}
}
else
{
comPort.toggleDTR();
}
try
{
comPort.DiscardInBuffer();
//.........这里部分代码省略.........
示例5: start_NSHTerminal
private void start_NSHTerminal()
{
try
{
if (MainV2.comPort != null && MainV2.comPort.BaseStream != null && MainV2.comPort.BaseStream.IsOpen)
{
comPort = new MAVLinkSerialPort(MainV2.comPort, MAVLink.SERIAL_CONTROL_DEV.SHELL);
comPort.BaudRate = 0;
// 20 hz
((MAVLinkSerialPort)comPort).timeout = 50;
comPort.Open();
startreadthread();
}
}
catch
{
}
}
示例6: Log_Load
private void Log_Load(object sender, EventArgs e)
{
if (MainV2.config["log_isarducopter"] != null)
{
CHK_arducopter.Checked = bool.Parse(MainV2.config["log_isarducopter"].ToString());
CHK_arduplane.Checked = bool.Parse(MainV2.config["log_isarduplane"].ToString());
CHK_ardurover.Checked = bool.Parse(MainV2.config["log_isardurover"].ToString());
}
status = serialstatus.Connecting;
MainV2.comPort.giveComport = true;
comPort = MainV2.comPort.BaseStream;
comPort.DtrEnable = false;
comPort.RtsEnable = false;
try
{
Console.WriteLine("Log_load " + comPort.IsOpen);
if (!comPort.IsOpen)
comPort.Open();
Console.WriteLine("Log dtr");
comPort.toggleDTR();
Console.WriteLine("Log discard");
comPort.DiscardInBuffer();
Console.WriteLine("Log w&sleep");
try
{
// try provoke a responce
comPort.Write("\n\n?\r\n\n");
}
catch
{
}
// 10 sec
waitandsleep(10000);
}
catch (Exception ex)
{
log.Error("Error opening comport", ex);
CustomMessageBox.Show("Error opening comport");
}
var t11 = new System.Threading.Thread(delegate()
{
var start = DateTime.Now;
threadrun = true;
readandsleep(100);
try
{
comPort.Write("\n\n\n\nexit\r\nlogs\r\n"); // more in "connecting"
}
catch
{
}
while (threadrun)
{
try
{
updateDisplay();
System.Threading.Thread.Sleep(10);
if (!comPort.IsOpen)
break;
while (comPort.BytesToRead >= 4)
{
comPort_DataReceived((object)null, (SerialDataReceivedEventArgs)null);
}
}
catch (Exception ex)
{
log.Error("crash in comport reader " + ex);
} // cant exit unless told to
}
log.Info("Comport thread close");
}) {Name = "comport reader"};
t11.Start();
// doesnt seem to work on mac
//comPort.DataReceived += new SerialDataReceivedEventHandler(comPort_DataReceived);
}
示例7: BUT_connect_Click
private void BUT_connect_Click(object sender, EventArgs e)
{
if (comPort.IsOpen)
{
threadrun = false;
comPort.Close();
BUT_connect.Text = Strings.Connect;
}
else
{
try
{
switch (CMB_serialport.Text)
{
case "NTRIP":
comPort = new CommsNTRIP();
CMB_baudrate.SelectedIndex = 0;
break;
case "TCP Client":
comPort = new TcpSerial();
CMB_baudrate.SelectedIndex = 0;
break;
case "UDP Host":
comPort = new UdpSerial();
CMB_baudrate.SelectedIndex = 0;
break;
case "UDP Client":
comPort = new UdpSerialConnect();
CMB_baudrate.SelectedIndex = 0;
break;
default:
comPort = new SerialPort();
comPort.PortName = CMB_serialport.Text;
break;
}
}
catch
{
CustomMessageBox.Show(Strings.InvalidPortName);
return;
}
try
{
comPort.BaudRate = int.Parse(CMB_baudrate.Text);
}
catch
{
CustomMessageBox.Show(Strings.InvalidBaudRate);
return;
}
try
{
comPort.Open();
}
catch (Exception ex)
{
CustomMessageBox.Show("Error Connecting\nif using com0com please rename the ports to COM??\n" +
ex.ToString());
return;
}
// inject init strings - m8p
if (true)
{
var ubloxm8p_timepulse_60s_1m = new byte[]
{
0xB5, 0x62, 0x06, 0x71, 0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00,
0x00, 0x00, 0x20, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0x53
};
comPort.Write(ubloxm8p_timepulse_60s_1m, 0, ubloxm8p_timepulse_60s_1m.Length);
var ubloxm8p_msg_f5_05_5s = new byte[]
{0xB5, 0x62, 0x06, 0x01, 0x08, 0x00, 0xF5, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x00, 0x13, 0x96};
comPort.Write(ubloxm8p_msg_f5_05_5s, 0, ubloxm8p_msg_f5_05_5s.Length);
var ubloxm8p_msg_f5_4d_1s = new byte[]
{0xB5, 0x62, 0x06, 0x01, 0x08, 0x00, 0xF5, 0x4D, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x53, 0x6E};
comPort.Write(ubloxm8p_msg_f5_4d_1s, 0, ubloxm8p_msg_f5_4d_1s.Length);
var ubloxm8p_msg_f5_57_1s = new byte[]
{0xB5, 0x62, 0x06, 0x01, 0x08, 0x00, 0xF5, 0x57, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x5D, 0xB4};
comPort.Write(ubloxm8p_msg_f5_57_1s, 0, ubloxm8p_msg_f5_57_1s.Length);
}
t12 = new System.Threading.Thread(new System.Threading.ThreadStart(mainloop))
{
IsBackground = true,
Name = "injectgps"
};
t12.Start();
BUT_connect.Text = Strings.Stop;
msgseen.Clear();
bytes = 0;
}
}
示例8: BUT_connect_Click
private void BUT_connect_Click(object sender, EventArgs e)
{
if (comPort.IsOpen)
{
threadrun = false;
comPort.Close();
BUT_connect.Text = Strings.Connect;
try
{
basedata.Close();
basedata = null;
}
catch
{
}
}
else
{
status_line3 = null;
try
{
switch (CMB_serialport.Text)
{
case "NTRIP":
comPort = new CommsNTRIP();
CMB_baudrate.SelectedIndex = 0;
((CommsNTRIP) comPort).lat = MainV2.comPort.MAV.cs.lat;
((CommsNTRIP) comPort).lng = MainV2.comPort.MAV.cs.lng;
((CommsNTRIP) comPort).alt = MainV2.comPort.MAV.cs.altasl;
break;
case "TCP Client":
comPort = new TcpSerial();
CMB_baudrate.SelectedIndex = 0;
break;
case "UDP Host":
comPort = new UdpSerial();
CMB_baudrate.SelectedIndex = 0;
break;
case "UDP Client":
comPort = new UdpSerialConnect();
CMB_baudrate.SelectedIndex = 0;
break;
default:
comPort = new SerialPort();
comPort.PortName = CMB_serialport.Text;
break;
}
Settings.Instance["SerialInjectGPS_port"] = CMB_serialport.Text;
Settings.Instance["SerialInjectGPS_baud"] = CMB_baudrate.Text;
}
catch
{
CustomMessageBox.Show(Strings.InvalidPortName);
return;
}
try
{
comPort.BaudRate = int.Parse(CMB_baudrate.Text);
}
catch
{
CustomMessageBox.Show(Strings.InvalidBaudRate);
return;
}
try
{
comPort.ReadBufferSize = 1024*64;
comPort.Open();
try
{
basedata = new BinaryWriter(new BufferedStream(
File.Open(
Settings.Instance.LogDir + Path.DirectorySeparatorChar +
DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss") + ".gpsbase", FileMode.CreateNew,
FileAccess.ReadWrite, FileShare.None)));
}
catch (Exception ex2)
{
CustomMessageBox.Show("Error creating file to save base data into " + ex2.ToString());
}
}
catch (Exception ex)
{
CustomMessageBox.Show("Error Connecting\nif using com0com please rename the ports to COM??\n" +
ex.ToString());
return;
}
// inject init strings - m8p
if (chk_m8pautoconfig.Checked)
{
this.LogInfo("Setup M8P");
ubx_m8p.SetupM8P(comPort, basepos, int.Parse(txt_surveyinDur.Text, CultureInfo.InvariantCulture),
double.Parse(txt_surveyinAcc.Text, CultureInfo.InvariantCulture));
}
//.........这里部分代码省略.........