回复【15楼】 jermy_z :
---------------------------------
你可以在某个类中首先构造一个静态方法用于从串口读一个字节,返回的形式自己可以定义,比如16禁止形式的字符串。
public static string ReadByteFromSerialPort(System.IO.Ports.SerialPort aPort)
{
try { return aPort.ReadByte().ToString("X2"); }
catch { return string.Empty; }
}[/mw_shl_code]
之后在对串口初始化的时候,设置它的读取超时属性,还有其他的相关属性,需要的也设置下。
fPortForData = new SerialPort();
fPortForData.ReadTimeout = 40;[/mw_shl_code]
最后在你的某个方法里,需要串口数据了可以这么执行
[mw_shl_code=c,true]string lReceiveData = MyPort.ReadByteFromSerialPort(fPortForData);
if (string.IsNullOrEmpty(lReceiveData)) // 在超时过后,未读取到任何字节
return;
... // 处理读到的 lReceiveData[/mw_shl_code]
|