【发布时间】:2015-09-03 18:28:15
【问题描述】:
几周前我开始使用 c#,所以我不太擅长这种编程语言,但我需要它来工作。 现在我有以下问题: 我想一直在循环中从串行端口发送和接收数据(循环中的一些电压,如 200 毫秒)。在循环运行期间(应该一直如此),不能使用我的 GUI 从该串行端口发送/接收其他数据。 我已经尝试了一个计时器,它每 200 毫秒执行一次循环,但是如果我按下 GUI 中的另一个按钮将数据发送到串行端口,就会出现问题。 我现在要做的是在循环结束时检查是否按下了按钮,然后停止循环片刻,执行按钮的功能,然后重新启动循环。 任何想法我可以如何管理这个? 提前谢谢我
循环的一部分:
serialPort1.Write("GetVolt 8V\r");
serialPort1.ReadLine();
tb12V_8V_V.Text = serialPort1.ReadLine();
serialPort1.Write("GetVolt 5V3\r");
serialPort1.ReadLine();
tb5V3_V.Text = serialPort1.ReadLine();
serialPort1.Write("GetVolt 3V5\r");
serialPort1.ReadLine();
tb3V5_3V3_V.Text = serialPort1.ReadLine();
还有一个按钮:
try
{
serialPort1.WriteLine("SetVolt 8V On\r");
serialPort1.ReadLine();
serialPort1.ReadLine();
btn8V_Off.Visible = true;
btn8V_On.Visible = false;
btn12V_Off.Visible = false;
btn12V_On.Visible = true;
}
catch (TimeoutException)
{
errorMessage();
}
【问题讨论】:
-
请出示相关代码。
标签: c# winforms serial-port windows-applications