通过串口读取超声波的距离并将其显示在C#文本框中

时间:2013-05-12 13:08:10

标签: c# windows textbox serial-port arduino

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

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

1 个答案:

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