簡體   English   中英

C#中的計時器和串行端口?

[英]Timer and serial port in c#?

我正在使用RFID設備讀取數據。 從它接收數據后,我在Visual Studio 2008中使用它。我使用串行端口和計時器的data-receive事件獲取數據。

問題是當我獲取RFID數據並嘗試將其放在數據接收事件的文本字段中時。

持續獲取數據,因為計時器不斷檢查數據並將其放在文本框中。 這就是為什么我的后端查詢始終運行並連續插入相同數據的原因。 我想停止計時器和串行端口,然后再次打開串行而不關閉並再次打開表單。 除了定時器,還有其他方法可以從串行端口獲取數據,並且在獲取數據后它會自行停止。

這是我的代碼:

private void serialPort_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) 
{ 
    //Serialtimer.Start(); 
    if (sp.IsOpen) 
    { 
        data = sp.ReadExisting(); 
        RFIDtB.Text = data; 
    } 
    else 
    { 
        MessageBox.Show("Please Check the device"); 
    } 
}

您不能從UI線程以外的其他線程訪問表單控件。 請參閱本文: http : //msdn.microsoft.com/zh-cn/library/ms171728.aspx以獲取解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM