byte[] SendData=Encoding.ASCII.GetBytes(textBox1.Text);
byte[] ReceiveData=Encoding.ASCII.GetBytes(textBox2.Text);
int Overtime=300;
serialPort1.DiscardInBuffer(); //清空接收缓冲区
serialPort1.Write(SendData, 0, SendData.Length);
System.Threading.Thread.Sleep(50);
int num = 0, ret = 0;
while (num++ < Overtime)
{
if (serialPort1.BytesToRead>= ReceiveData.Length)
{
break;
}
System.Threading.Thread.Sleep(50);
}为什么serialPort1.BytesToRead没有值?该serialPort1.BytesToWrite也没有?
求帮助
byte[] ReceiveData=Encoding.ASCII.GetBytes(textBox2.Text);
int Overtime=300;
serialPort1.DiscardInBuffer(); //清空接收缓冲区
serialPort1.Write(SendData, 0, SendData.Length);
System.Threading.Thread.Sleep(50);
int num = 0, ret = 0;
while (num++ < Overtime)
{
if (serialPort1.BytesToRead>= ReceiveData.Length)
{
break;
}
System.Threading.Thread.Sleep(50);
}为什么serialPort1.BytesToRead没有值?该serialPort1.BytesToWrite也没有?
求帮助
即使有,也是小于 ReceiveData.Length
{
//if (serialPort1.BytesToRead>= ReceiveData.Length)
//{
//break;
//}
string text =serialPort1.BytesToRead;
System.Threading.Thread.Sleep(50); //此行设置断点,看看上一行有没有数据 }
byte[] SendData=Encoding.ASCII.GetBytes(textBox1.Text); //要发送的字节数组
byte[] ReceiveData=Encoding.ASCII.GetBytes(textBox2.Text);
int Overtime=300;
serialPort1.DiscardInBuffer(); //清空接收缓冲区
serialPort1.Write(SendData, 0, SendData.Length); //serialPort1发送数据
System.Threading.Thread.Sleep(50);
int num = 0, ret = 0;
while (num++ < Overtime)
{
//问题在这,当前只是serialPort1发了数据出去,没有任何COM对象给serialPort1发送过数据,
//BytesToRead会一直为0
if (serialPort1.BytesToRead>= ReceiveData.Length)
{
break;
}
System.Threading.Thread.Sleep(50);
}
{
try
{
byte[] data = new byte[this.selMonitor.BytesToRead];
selMonitor.Read(data, 0, data.Length);
this.Invoke(interfaceUpdateHandle, new string[] { BitConverter.ToString(data) });
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}