[英]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.