62,074
社区成员
发帖
与我相关
我的任务
分享
#region 打开端口
private void OpenCOM()
{
try
{
this.sbWeightInfo = new StringBuilder();
//this.rtDatas.Text = "";
this.txtWT.Text = "0";
this.LDataSteam.Text = "100";
//this.serialPort1.ReadTimeout = 1000;
this.serialPort1.Open();
_continue = true;
this.backgroundWorker1.RunWorkerAsync();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
#endregion
#region backgroundWorker EVENT
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
BackgroundWorker worker = ((BackgroundWorker)sender);
while (_continue)
{
try
{
string message = this.serialPort1.ReadLine();
/*
System.Threading.Thread.Sleep(300);
string message = (++count).ToString();
message = message.PadLeft(13, ' ');
if (count > 1000)
count = 0;
* */
//string weight = message.Substring(6, 7).Trim();
string weight = message;
worker.ReportProgress(0, weight);
}
catch (TimeoutException te)
{
_continue = false;
//MessageBox.Show(te.Message);
}
catch (Exception ex)
{
_continue = false;
//MessageBox.Show(ex.Message);
}
}
}
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
BackgroundWorker worker = sender as BackgroundWorker;
Object userstate = e.UserState;
string newWeight = (string)userstate;
this.LDataSteam.Text = newWeight;
// this.rtDatas.Text = newWeight + this.rtDatas.Text;
}