字符串值不变

时间:2013-11-29 09:53:41

标签: c# string timer serial-communication

嗨,我有读写COM端口的代码。当程序从COM端口读取时,它会搜索字符串值并将其放入变量中。执行此操作后,它再次侦听COM端口。我需要写入COM端口并读取一些新数据,但我没有看到该值已更改为新值。

这是我的代码:

private void timer1_Tick(object sender, EventArgs e)
    {
        sq = "777";
        if (CommunicationManager.myQ.Count != 0)
        {
            sq = CommunicationManager.myQ.Dequeue().ToString();
            textBox1.Text = sq + textBox1.Text;
            buffer = Regex.Match(textBox1.Text, @"\
                         ((.+?)\,15,").Groups[1].Value;
        }
    }
private void button1_Click(object sender, EventArgs e)
    {



        for (int i = 0; i <= numtst; i++)
        {
            listView1.Items[i].BackColor = Color.White;
            fl[i] = false;
        }

        nt = 0;
        flon = false;
        flag[0] = false;

            comm.WriteData("AT\r\n");
            wait(700);
            if (buffer.lenght == 16)
            { 
               flag[0] = true
            }
            if (flag[0] == true)
            {
                flon = true;
                CommunicationManager.myQ.Clear();
                break;
            }
        }            
        if (flon == true)
        {
            listView1.Items[nt].BackColor = Color.LightGreen;
            fl[nt] = true;
        }
        else
        {
            listView1.Items[nt].BackColor = Color.Red;
            if (flag[76] == true)
            {

                button1.Enabled = true;
                button1.BackColor = Color.Red;
                button1.Text = "Test ERROR";                  
                return;
            }
        }
        comm.WriteData("ATT\r\n");
        wait(3700);
        comm.WriteData("AT4\r\n");

        nt = 1;
        flon = false;
        flag[1] = false;

           if (buffer == text4.text)
           {
              flag[1] = true
           }
            wait(700);
            if (flag[1] == true)
            {
                flon = true;
                CommunicationManager.myQ.Clear();
                break;
            }
            if (flag[76] == true)
            {
                button1.Enabled = true;
                return;
            }
        }
        if (flon == true)
        {
            listView1.Items[nt].BackColor = Color.LightGreen;
            fl[nt] = true;
        }
        else
        {
            listView1.Items[nt].BackColor = Color.Red;
            if (flag[76] == true)
            {
                button1.Enabled = true;
                button1.BackColor = Color.Red;
                button1.Text = "Test ERROR";
                return;
            }
        }

在第二部分,如果(buffer == text4.text)我只看到缓冲变量的第一个值。

我检查了终端,所有命令都运行良好。

0 个答案:

没有答案