为了账号安全,请及时绑定邮箱和手机立即绑定

按钮发送命令 SerialPort1_DataReceived (EventArgs e)

按钮发送命令 SerialPort1_DataReceived (EventArgs e)

C#
德玛西亚99 2021-10-23 16:24:34
//Button need DataRecieved  event handlerprivate void LoggedDataBtn_Click(object sender, EventArgs e){    //When LoggDataBtn is pressed it Send the command LogToShow to  device    string LoggedDataTOshow = "?R\r\n";    string commForMeter = string.Format(LoggedDataTOshow);    try    {        if (serialPortForApp.IsOpen)        {            Thread.Sleep(2000);            serialPortForApp.Write(LoggedDataTOshow);        }    }    catch (Exception)    {        ShowDataInScreenTxtb.Text = "TimeOUT Exception: Error for requested command";    }}//button does not need DataRecieved handler to display but create conflict //for those that need itprivate void GLPBtn_Click(object sender, EventArgs e){    //send command to instrument    string GLPCommand = "?G\r\n";    string GLPToShow = String.Format(GLPCommand);    try    {        if (serialPortForApp.IsOpen)        {            Thread.Sleep(2000);            //write command to port            serialPortForApp.Write(GLPToShow);        }    }    catch    {        //MessageBox error if data reading is not posible        ShowDataInScreenTxtb.Text = "TimeOUT Exception";    }    while (glpShowInMainForm.DataToSetandGet != "ENDS\r")    {        serialPortForApp.Write("\r");        DataToSetandGet = serialPortForApp.ReadExisting();        ShowDataInScreenTxtb.AppendText(DataToSetandGet.Replace("\r", "\r\n"));    }}//如何创建开关盒或定义不同的按钮值以读取和显示。一些按钮与 datarecived 事件一起工作,而其他按钮不需要它,但会为那些需要在 datarecieved 事件处理程序(如我的 LoggedDataBtn_Click )中读取退出的按钮产生冲突,其他按钮需要将 ReadExisted 放入 button_click 方法中,而不是像我的 GLPBtn_Click 那样使用 datarecieved 事件.
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 147 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信