定时器和串口c#

本文关键字:串口 定时器 | 更新日期: 2023-09-27 18:15:36

我正在使用RFID设备从中读取数据。从它接收数据后,我在Visual Studio 2008中使用它。我使用串口的数据接收事件和定时器来获取数据。

问题是当我获得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"); 
    } 
}

定时器和串口c#

你不能从UI线程以外的其他线程访问表单控件。有关解决方案,请参阅本文:http://msdn.microsoft.com/en-us/library/ms171728.aspx。