串口接收数据时,会关闭串口,不知道什么原因,代码如下
     public: void SynReceiveData()
		{	
			//想获取缓存区的数据到来信号。问题1:串口的触发事件有哪些?如何定义?
			SerialDataReceivedEventArgs^ type;
			
			
			do
				{
				System::Threading::Thread::Sleep(0);
				
			//堵塞到数据到来或超时
				if(SerialData::Chars)//接受缓存是否有信号到来。
			{
				try
				{
					Byte firstByte=Convert::ToByte(serialPort1->ReadByte());//问题就在这里。当执行到这条语句,就会出现异常,串口关闭,请问是为什么??
					int bytesRead=serialPort1->BytesToRead;
					bytesData=new Byte[bytesRead];
					bytesData[0]=firstByte;
			
					for(int i=0;i<=bytesRead;i++)
					
						bytesData[i]=Convert::ToByte(serialPort1->ReadByte());
					    
						listdata=Convert::ToString(bytesData);
						listBox->Text=listdata;
		
					
				}
				catch(System::Exception^ e)
				{
					MessageBox::Show(Convert::ToString(e));
				}
			}
				
			}while(1);
			
			
		}
	
	void ReceiveData(SerialPort^ serialport)
		{
			Form1^ start=gcnew Form1;	
			Thread^ threadreceive=gcnew Thread(gcnew ThreadStart(start,&Form1::SynReceiveData));
			threadreceive->Start();
		}