我正在尝试读取Arduino Uno上超声波的距离并在我的Windows Forms应用程序的文本框中显示它,但它只读取一个值,我希望它继续阅读并显示我的文本框上的距离。这是我阅读距离的代码:
for (int j = 0; j < 100; j++)
{
string READ;
READ = serialPort1.ReadLine();
textBox1.Text = READ.ToString();
textBox1.Refresh();
//textBox1.Show();
}
答案 0 :(得分:1)
您需要以固定间隔读取串行端口。 这将导致OnTimerTick每200毫秒运行一次并将更新textBox。
public Form1()
{
InitializeComponent();
System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer();
timer.Tick += OnTimerTick;
timer.Interval = 200;
timer.Start();
}
string READ;
然后创建上述计时器的事件:
private void OnTimerTick(object sender, EventArgs e)
{
READ = serialPort1.ReadLine();
textBox1.Text = READ.ToString();
}
你也可以在按钮下放置一个timer.stop()和timer.start()。