怎样实现c#接受串口数据
1个回答
展开全部
用C#自带的串口控件(serialPort)的DataReceived方法,一个串口收发数据就用一个控件,分别对应着一个方法。如:
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
Thread.Sleep(25);//这行是设定读取间隔,可以根据需要不使用
//这里写程序
try
{
if (!serialPort.IsOpen)
return;
int datalength = serialPort.BytesToRead;
int i = 0;
StringBuilder sb = new StringBuilder();
while (i < datalength)
{
byte[] ds = new byte[1024];
int len = serialPort.Read(ds, 0, 1024);
sb.Append(Encoding.ASCII.GetString(ds, 0, len));
i += len;
}
//这里sb就是串口获取的数据
}
catch { }
}
串口控件,在C#2005,.net 2.0以上才有
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
Thread.Sleep(25);//这行是设定读取间隔,可以根据需要不使用
//这里写程序
try
{
if (!serialPort.IsOpen)
return;
int datalength = serialPort.BytesToRead;
int i = 0;
StringBuilder sb = new StringBuilder();
while (i < datalength)
{
byte[] ds = new byte[1024];
int len = serialPort.Read(ds, 0, 1024);
sb.Append(Encoding.ASCII.GetString(ds, 0, len));
i += len;
}
//这里sb就是串口获取的数据
}
catch { }
}
串口控件,在C#2005,.net 2.0以上才有
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询