继续从串行端口读取,直到我发送完成命令

我的任务是通过串行端口从设备数据中读取发出的数据。 设备将向服务器发送多个数据(可能不止一个:在每个发送按钮上单击设备)。

我编写了以下类来读取设备发送的“单个数据”。

我在问如何继续读取设备发出的数据,直到将完成命令发送到服务器(停止读取)。

    public class MachineIntegrationmanager : IMachineIntegrationService
    {
        public SerialPort Sport { set; get; }

        public MachineIntegrationmanager()
        {
            Sport = new SerialPort("COM6",9600,Parity.None,8,StopBits.One);
        }

        public ResultClass<string> ReadEquipmentOutput()
        {
            ResultClass<string> res = new ResultClass<string>();

            try
            {

                Sport.Open();
                Sport.DataReceived += SportOnDataReceived;

                res.Result = "";
                res.Code = Errors.Success;
                res.Message = Errors.GetErrorMessage(res.Code);
            }
            catch (Exception ex)
            {
                res.Result = string.Empty;
                res.Code = Errors.UnknownError;
                res.Message = Errors.GetErrorMessage(res.Code);                
            }

            return res;
        }

        private void SportOnDataReceived(object sender,SerialDataReceivedEventArgs serialDataReceivedEventArgs)
        {
            File.WriteAllText("test.txt",Sport.ReadExisting());
        }
    }
}
zhangshaodan123 回答:继续从串行端口读取,直到我发送完成命令

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3127976.html

大家都在问