请教C#类里面的串口接收子程序咋取得他的返回值?
void comPort_DataReceived(object sender, SerialDataReceivedEventArgs e){
////禁止接收事件时直接退出
if (ReceiveEventFlag) return;
#region 根据结束字节来判断是否全部获取完成
List<byte> _byteData = new List<byte>();
bool found = false;//是否检测到结束符号
while (comPort.BytesToRead > 0 || !found)
{
byte[] readBuffer = new byte;
int count = comPort.Read(readBuffer, 0, comPort.ReadBufferSize);
for (int i = 0; i < count; i++)
{
_byteData.Add(readBuffer);
if (readBuffer == EndByte)
{
found = true;
}
}
}
#endregion
////字符转换
string readString = System.Text.Encoding.Default.GetString(_byteData.ToArray(), 0, _byteData.Count);
////触发整条记录的处理
if (DataReceived != null)
{
DataReceived(new DataReceivedEventArgs(readString));
}
}
串口类中的一个子程序(串口接收),readString可以得到正确的值,但是我不会调用它,请问我咋样才能读到他的值?万分感谢! 解决了,e.DataReceived,搞了我一天
页:
[1]