如何用C#实现串口通讯,请高手指教!

解决方案 »

  1.   

    你可以在 控件SerialPort 的DataReceived
    事件中添加代码就可以了,如下面的例子:
    using System.IO;
    using System.IO.Ports;
    ……
    private SerialPort sp;
    ……
           private void main_Load(object sender, EventArgs e)//某窗口的Load事件
            {                
    ……
    sp = new SerialPort();
                    sp.DtrEnable = true;
                    sp.RtsEnable = true;
    //为sp添加事件
                    sp.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(sp_DataReceived);
    ……
    }        private void sp_DataReceived(object sender, SerialDataReceivedEventArgs e)
            {
                ……
        try
                {
    Byte[] buf = new byte[sp.BytesToRead];//容器
    int iCount = sp.Read(buf, 0, sp.BytesToRead);//读串口
        ……
        }
        catch (Exception exp)
                {…… }
        ……}
    结构就是如此了
      
      

  2.   

    建议用2005里面的serialport.据说这个很好用的