Kod: Tümünü seç
public partial class Form1 : Form
{
private string RxString;
public Form1()
{
InitializeComponent();
comboBoxPort.SelectedIndex = 0;
comboBoxBaud.SelectedIndex = 3;
yeniden_baglan();
}
public Form1(string[] args)
{
InitializeComponent();
comboBoxPort.SelectedIndex = 0;
comboBoxBaud.SelectedIndex = 3;
foreach (string arg in args)
{
if (arg.StartsWith("-p") && (arg.Length >= 3))
{
try
{
comboBoxPort.SelectedIndex = Int32.Parse(arg.Substring(2)) - 1;
}
catch
{
}
}
else if (arg.StartsWith("-b") && (arg.Length >= 3))
{
try
{
comboBoxBaud.SelectedIndex = Int32.Parse(arg.Substring(2)) - 1;
}
catch
{
}
}
}
yeniden_baglan();
}
private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
RxString += serialPort1.ReadExisting();
if (RxString.Contains('\r') && (RxString.Length >= 8))
{
this.Invoke(new EventHandler(DisplayText));
}
}
private void DisplayText(object sender, EventArgs e)
{
int i = RxString.LastIndexOf('\r');
if (i >= 7)
{
labelAgirlik.Text = RxString.Substring(i - 6, 6);
if (String.IsNullOrWhiteSpace(labelAgirlik.Text))
labelAgirlik.ForeColor = Color.Red;
else
labelAgirlik.ForeColor = Color.LightGreen;
if (RxString.Length >= (i + 2))
RxString = RxString.Split('\r').LastOrDefault();
else
RxString = "";
}
timer1.Stop();
timer1.Start();
}
private void serialPort1_ErrorReceived(object sender, System.IO.Ports.SerialErrorReceivedEventArgs e)
{
//this.Invoke(new EventHandler(DisplayHata));
}
private void DisplayHata(object sender, EventArgs e)
{
labelAgirlik.Text = " HATA ";
labelAgirlik.ForeColor = Color.Red;
}
private void comboBoxPort_SelectedIndexChanged(object sender, EventArgs e)
{
yeniden_baglan();
}
private void comboBoxBaud_SelectedIndexChanged(object sender, EventArgs e)
{
yeniden_baglan();
}
private void yeniden_baglan()
{
timer1.Stop();
try
{
try
{
serialPort1.Close();
}
catch{
}
serialPort1.PortName = comboBoxPort.SelectedItem.ToString();
serialPort1.BaudRate = Int32.Parse(comboBoxBaud.SelectedItem.ToString());
serialPort1.Open();
labelAgirlik.Text = "......";
labelAgirlik.ForeColor = Color.Yellow;
}
catch
{
labelAgirlik.Text = " HATA ";
labelAgirlik.ForeColor = Color.Red;
}
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
yeniden_baglan();
}
}