通过串口向单片机发送数据a,单片机回复数据b,然后在向单片机发送数据c,单片机在回复数据d。
如何循环执行,保证通信不会死掉,直到满足要求停止呢。

解决方案 »

  1.   

    这样?
    string b="123";
    serialPort1.WriteLine(send);
    string r=serialPort1.readLine();
    if(r=="返回值")
    {
       serialPort1.WriteLine("b");
    }
      

  2.   

    对的,必要的时候可能得加个sleep,你先试试.
      

  3.   


    你确定每次单片机给你回复的内容都是调用一次readLine接收就收到了所有的内容吗?有可能需要好几次的
    ,readLine收到内容为null就表示单片机没有内容发送过来了
    string receive=""
    string r=serialPort1.readLine();
    receive+=r;
    while(r!=null)
    {
    r=serialPort1.readLine();
    receive+=r;
    }
    if(receive=="返回值")
    {
      serialPort1.WriteLine("b");
    }