c# 编写串口通讯程序,测试时发现通讯过程中有问题,请高手指点
c#编写串口通讯程序,测试时发现通讯过程中断开通讯线会出现程序错误,我想问如何捕捉这些错误呢?线路正常后由如何恢复通信呢?用下面的代码恢复通信后只能持续几秒,就出错!提示...
c# 编写串口通讯程序,测试时发现通讯过程中断开通讯线会出现程序错误,我想问如何捕捉这些错误呢?
线路正常后由如何恢复通信呢?
用下面的代码恢复通信后只能持续几秒,就出错!提示是否有足够的资源访问权限!请高人指点!
bool serialPortErr = true;
while (true)
{
string[] ports = SerialPort.GetPortNames();
foreach (string port in ports)
{
if (port == serialPort.PortName)
serialPortErr = false;
}
Thread.Sleep(1000);
if (serialPortErr == false)
{
serialPort.Open();
break;
}
}
下面是复制下来的错误信息:
未处理 System.UnauthorizedAccessException
Message="对端口的访问被拒绝。"
Source="System"
StackTrace:
在 System.IO.Ports.InternalResources.WinIOError(Int32 errorCode, String str)
在 System.IO.Ports.InternalResources.WinIOError()
在 System.IO.Ports.SerialStream.Dispose(Boolean disposing)
在 System.IO.Ports.SerialStream.Finalize()
InnerException:
程序中用到了Thread.Sleep(200)等待接收数据,感觉错误就是Thread.Sleep引发的!怎么解决呢? 展开
线路正常后由如何恢复通信呢?
用下面的代码恢复通信后只能持续几秒,就出错!提示是否有足够的资源访问权限!请高人指点!
bool serialPortErr = true;
while (true)
{
string[] ports = SerialPort.GetPortNames();
foreach (string port in ports)
{
if (port == serialPort.PortName)
serialPortErr = false;
}
Thread.Sleep(1000);
if (serialPortErr == false)
{
serialPort.Open();
break;
}
}
下面是复制下来的错误信息:
未处理 System.UnauthorizedAccessException
Message="对端口的访问被拒绝。"
Source="System"
StackTrace:
在 System.IO.Ports.InternalResources.WinIOError(Int32 errorCode, String str)
在 System.IO.Ports.InternalResources.WinIOError()
在 System.IO.Ports.SerialStream.Dispose(Boolean disposing)
在 System.IO.Ports.SerialStream.Finalize()
InnerException:
程序中用到了Thread.Sleep(200)等待接收数据,感觉错误就是Thread.Sleep引发的!怎么解决呢? 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询