iman-63
سه شنبه 23 اسفند 1390, 01:06 صبح
سلام به تمام اساتید عزیز.
یه کد برا دریافت از سریال نوشتم که بعد از چند با دریافت خطای استثناء Argument of out of rang exception میده.
کد رخداد دریافت سریال اینه:
private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
values.Clear();
string data = serialPort1.ReadExisting();
newLineFound = true;
Log(MsgType.Incoming, data);
}
و کد تحلیل و تفکیک اطلاعات رسیده:
private void Log(MsgType msgtype, string msg)
{
values.Clear();
try
{
foreach (string a in msg.Split(','))
{
if (a.Length == 0)
values.Add(0);
else
values.Add(int.Parse(a));
}
msg = string.Empty;
}
catch
{
}
Invoke(new EventHandler(delegate
{
label5.Text = Convert.ToString(values[0]);
label6.Text = Convert.ToString(values[1]);
label7.Text = Convert.ToString(values[2]);
label8.Text = Convert.ToString(values[3]);
}));
}
در ضمن فرمت دریافت اطلاعات نیز به شکل:
x,x,x,x \r میباشد که x یک متغیر x و r\ اینتر میباشد
84109
باتشکر از شما
یه کد برا دریافت از سریال نوشتم که بعد از چند با دریافت خطای استثناء Argument of out of rang exception میده.
کد رخداد دریافت سریال اینه:
private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
values.Clear();
string data = serialPort1.ReadExisting();
newLineFound = true;
Log(MsgType.Incoming, data);
}
و کد تحلیل و تفکیک اطلاعات رسیده:
private void Log(MsgType msgtype, string msg)
{
values.Clear();
try
{
foreach (string a in msg.Split(','))
{
if (a.Length == 0)
values.Add(0);
else
values.Add(int.Parse(a));
}
msg = string.Empty;
}
catch
{
}
Invoke(new EventHandler(delegate
{
label5.Text = Convert.ToString(values[0]);
label6.Text = Convert.ToString(values[1]);
label7.Text = Convert.ToString(values[2]);
label8.Text = Convert.ToString(values[3]);
}));
}
در ضمن فرمت دریافت اطلاعات نیز به شکل:
x,x,x,x \r میباشد که x یک متغیر x و r\ اینتر میباشد
84109
باتشکر از شما