如何使用计时器C#增加超时时间?

时间:2019-04-24 08:07:10

标签: c#

我在使用串行端口接收数据时遇到了问题。我的代码中的LRx是数据接收,超时是我设置为等待1MS响应的计时器。 1Ms后仍无响应(LRX仍等于0),提示将增加1。3次后仍无响应,并且将出现“错误”框。

我试图制作While循环以检查LRx的条件和超时,但是看起来好像卡在While循环中。

for (int i = 0; i < 5; i++)
                {
                    if(!transfer)
                    {

                        for(int count = 0; count <3; count++)
                        {
                            ReadCoils((byte)(i + 1));
                            timeout = false;
                            timer2.Interval = 1;
                            timer2.Enabled = true;
                            while ((LRx == 0) && (!timeout)) { };

                            if (LRx != 0)
                            {
                                DataProcess();
                                count = 4;
                            }
                        }

                        if(transfer)
                        {
                            MessageBox.Show("Slave " + (i+1) + " Not Responding", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                }

0 个答案:

没有答案