簡體   English   中英

C#:等待從 RS485 發送的特定字符

[英]C#: Waiting for specific character sent from RS485

在我的應用程序中,我將數據發送到微控制器。 我發送數據,微控制器做程序,並發送字符(“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;
    }

COMport 的 BytesToRead 屬性返回 COMport 已接收的字符數,因此您的循環將繼續,直到讀取了 75 個字符。 查看SerialPort類的文檔。 它將向您展示如何從/向您的 COMport 讀/寫字符的一個很好的例子。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM