解决方案 »

  1.   

    Quote: 引用 楼主 zomyla 的回复:

    1)那接收端怎么用一个Datarecived事件区分哪个串口的啊?
    /quote]
    完全不知道你所谓“用一个Datarecived事件”是指什么具体意思。事件就是一个概念而已,要落实到你的事件处理程序方法上,还是要说明是一个还是多个的。你可以在你的所谓“串口数据处理类”上定义一个处理方法,例如public class 串口数据处理方法
    {
        public 串口数据处理方法(string Port,  int BaudRate, int StopBits, ....)
        {
            this.Port = Port,
            this.BaudRate = BaudRate;
            ......
        }    public string Port{ get; private set;}
        public int BaudRate{ get; private set;}    .......
      
        public void Datarecived(object sender, SerialDataReceivedEventArgs e)
        {
            .........
        }.....那么,你向每一个串口“绑定串口事件处理方法”时,自然就是使用30个不同的对象实例的 Datarecived 方法。这个方法内部当然知道自己的环境。
      

  2.   

    接收数据的函数的 sender 就是各自的 SerialPort 对象, 强制转换一下就好.
      

  3.   

    不知道是不是用哪个 Object sender 来判断