我的应用程序通过串口与arduino通信,并控制设备是否通过计时器连接。
计时器代码:
if (serialPort.IsOpen)
{
try
{
serialPort.Write("002");
}
catch
{
portRefresh.Stop(); // stop timer
CloseSerialConnection(); // issue with disconnecting device
label1.Text = "disconneced";
}
它投掷了:
未处理的类型' System.IO.IOException'发生在System.dll
中
其他信息:设备未连接。
CloseSerialConnection代码:
public void CloseSerialConnection()
{
if (serialPort.IsOpen)
{
serialPort.Close();
}
serialPort.Dispose();
}
我用谷歌搜索了它,但我还没有找到任何工作。
答案 0 :(得分:-2)
您需要在Dispose()之前关闭连接。
if (serialPort.IsOpen)
{
serialPort.Close();
}
serialPort.Dispose();
您也无需关闭并打开计时器上的连接。 只要你需要就打开它,然后在最后关闭它。