[英]C# can't read serial port after few hours?
我有一個從設備讀取串口數據的項目,我的操作系統是 Windows 10。我讀過這個:
2. 如果正在使用的 USB COM 端口已被移除,SerialPort.Close() 會凍結應用程序
但是如果沒有來自設備的輸入,我的代碼可能只能工作 6 小時。 現在的解決方案是再次打開表單后關閉表單。
SerialPort myPort = new SerialPort();
private void Scanning_Load(object sender, EventArgs e)
{
myPort.BaudRate = 9600;
myPort.PortName = "COM4";
if (SerialPort.GetPortNames().ToList().Contains(comPortname))
{
if (!myPort.IsOpen)
{
myPort.Open();
}
myPort.DataReceived += getReceivedata;
}
}
private void getReceivedata(object sender,
SerialDataReceivedEventArgs e)
{
SerialPort spL = (SerialPort)sender;
string data_rx = spL.ReadLine();
this.Invoke((MethodInvoker)delegate
{
Console.Write(data_rx);
});
}
這可能是電源管理(或電源選項)設置的結果。 您沒有說明您使用的是哪個操作系統,或者您的設備是否通過 USB 連接。
贏10:
您可能需要查看的其他設置是“電源選項”,它可以在控制面板或開始圖標旁邊的搜索框中找到,鍵入:電源選項(然后單擊“其他電源設置”)。 既然你說它可以工作6個小時。 您可以檢查哪些設置設置為 6 小時(360 分鍾)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.