1个回答
展开全部
通过设置ReadTimeout属性解决你的问题。代码如下
SerialPort com = new SerialPort("COM1");
// 设置读取超时为5秒(5000毫秒)
com.ReadTimeout = 5000;
try
{
com.Read(receiveData, 0, readStatus[5]*2+5);
}
catch(TimeoutException)
{
//超时无数据异常处理
}
追问
为什么我读出来的数据只有第一位为有效位,比如我给串口发送01 01 01 01,它接收到的是01 00 00 00,等到下一次读取就变成01 01 01 00,是串口哪里需要设置吗?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询