我只会用不明触发原理
SerialPort.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(SerialPortDataReceived);        /// <summary>
        /// 接收数据事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void SerialPortDataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            //函数
        }

解决方案 »

  1.   

    我记得 它里面 有个 ReceivedBytesThreshold 什么阀值的 设置 多少个字节 触发一次的 你网上 找一下  很多的  是在不行我这里 也有程序   
    ReceivedBytesThreshold
    Gets or sets the number of bytes in the internal input buffer before a DataReceived event occurs.
      

  2.   

    http://www.cnblogs.com/JimmyZhang/archive/2008/09/07/1286300.html你看看这个的博客吧,这个博客上讲的很清楚,非常不错,它分了5个部分去讲,你仔细看看,就应该能帮你解决问题
      

  3.   

    SerialPort控件有个ReceiveBytesThreshold属性可以设置DataReceived事件触发前输入缓冲区的字节数,默认是1,就是接收到一个字节,就会触发DataReceived事件