在我的应用程序中,我将数据发送到微控制器。我发送数据,微控制器执行程序,并发送字符(" 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;
}
答案 0 :(得分:0)
COMport的BytesToRead属性返回COMport已接收的字符数,因此您的循环将继续,直到读取正好75个字符。看一下SerialPort课程的文档。它将向您展示如何从COMport读取/写入字符的一个很好的示例。
答案 1 :(得分:0)
为什么不使用while(COMport.ReadChar() != 'K') { /* Do Stuff */ }
?