定时器和串口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");
}
}
你不能从UI线程以外的其他线程访问表单控件。有关解决方案,请参阅本文:http://msdn.microsoft.com/en-us/library/ms171728.aspx。