-2

我正在尝试在Arduino Uno上读取超声波的距离并将其显示在我的Windows 窗体应用程序的文本框中,但它只读取一个值,我希望它继续读取并在我的文本框中显示距离。这是我读取距离的代码:

for (int j = 0; j < 100; j++)
{
    string READ;
    READ = serialPort1.ReadLine();
    textBox1.Text = READ.ToString();
    textBox1.Refresh();
    //textBox1.Show();
}
4

1 回答 1

1

您需要以恒定的时间间隔读取串行端口。这将导致 OnTimerTick 每 200 毫秒运行一次,并将更新文本框。

 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()。

于 2013-05-12T13:50:31.900 回答