-1

在我的应用程序中,我正在向微控制器发送数据。我发送数据,微控制器进行编程,然后发送字符(“K”)。我的应用程序应该等待这个字符。收到这个字符后,它应该再次发送数据。

我收到这个角色有问题。函数 BytesToRead 是否有权读取字符?当我的程序到达这个我的功能等待时,它总是会下降

static void wait()
    {
        SerialPort COMport = new SerialPort();
        int znak;

        COMport.PortName = "COM6"; // 
        COMport.BaudRate = 1200;
        COMport.DataBits = 8;
        COMport.Parity = Parity.None;
        COMport.StopBits = StopBits.One;

        COMport.Open();

        do
        {
            znak = COMport.BytesToRead;
        } while (znak != 75);   // ASCII K = 75

        COMport.Close();
        return;
    }
4

2 回答 2

0

COMport 的 BytesToRead 属性返回 COMport 已接收的字符数,因此您的循环将继续进行,直到读取了 75 个字符。查看SerialPort类的文档。它将向您展示如何从/向您的 COMport 读取/写入字符的一个很好的示例。

于 2016-05-06T16:32:21.983 回答
0

为什么不直接使用while(COMport.ReadChar() != 'K') { /* Do Stuff */ }

于 2016-05-06T18:27:13.303 回答