C# 如何使用SerialPort SerialDataReceived帮助
不确定如何处理SerialPort DataReceived。 情景 我有一个与设备通信的应用程序,这个设备返回一个状态 公共枚举操作状态 { 起动, 在进展中, 完整的 等 } 现在,如果我要使用DataReceiveDevenHandler,我怎么知道执行的是什么方法?例如行动1或行动2等。。。? 我还想在从设备中取回东西时包含某种超时。 有什么例子或建议吗C# 如何使用SerialPort SerialDataReceived帮助,c#,serial-port,C#,Serial Port,不确定如何处理SerialPort DataReceived。 情景 我有一个与设备通信的应用程序,这个设备返回一个状态 公共枚举操作状态 { 起动, 在进展中, 完整的 等 } 现在,如果我要使用DataReceiveDevenHandler,我怎么知道执行的是什么方法?例如行动1或行动2等。。。? 我还想在从设备中取回东西时包含某种超时。 有什么例子或建议吗 public ActionState Action1 { serialPort.write(myDat
public ActionState Action1
{
serialPort.write(myData);
string result=serialPort.ReadExisting());
//convertTo ActionState and return
return ConvertToActionState(result);
}
public ActionState Action2
{
serialPort.write(myData);
string result=serialPort.ReadExisting());
//convertTo ActionState and return
return ConvertToActionState(result);
}
private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
//How can I use this to detect which method is firing and set the actionState Enum accordingly?
}
private ActionState(string result)
{
if(result==1)
return ActionState.Started;
else if (result==2)
return ActionState.Completed
etc...
}
当有一些数据要读取时,即使接收到Eof字符,serialport也会触发接收到的事件DataReceived。通常,此事件用于获取该数据并用其启动进程或存储。例如,serialport读取条形码并在数据库中找到它
private static void DataReceivedHandler(
object sender,
SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string indata = sp.ReadExisting();
if(!String.IsEmptyOrNull( indata))
{
AddProductToCart(indata);
}
}
这是什么?C#?JAVA有些标记会有所帮助……它的C#,DataReceived()方法是串行端口类的公共方法