SerialPort的问题
在写串口通信的东西,拿我的COM1做实验,在ReadLine的时候程序就block了,我知道这个函数一直在轮询数据,读不到数据就一直Block。那是不是我的write没有把数据写到串口上?                
                         static   void   Main(string[]   args) 
                         { 
                                     SerialPort   port   =   new   SerialPort();   
                                     port.BaudRate   =   4800;   
                                     port.Parity   =   Parity.None;   
                                     port.DataBits   =   8;   
                                     port.StopBits   =   StopBits.One;   
                                     port.PortName   =    "COM1 ";   
                                     port.Open();   
                                     port.WriteLine( "test ");   
                                     Console.WriteLine(port.ReadLine()); 
                         }
------解决方案--------------------我自己没做过Serial Port,但凭直觉  port.WriteLine( "test ")是向外发的,是发给外节设备的,不是发给自己的; 而port.ReadLine是读进来,也就是说收外来设备发给你的数据,这和你用port.WriteLine发出去的数据是不同的东西. 
------解决方案--------------------COM1上没有接设备你想从serial port的inbuffer中读什么?!WriteLine和ReadLine作用的硬件区域是不一样的,一个是outbuffer一个是inbuffer。认真看看这个http://msdn2.microsoft.com/zh-cn/library/system.io.ports.serialport.readline(vs.80).aspx 
 设置ReadTimeout和WirteTimeout可以改善你的程序