c# 使用List<SerialPort>的数据接收问题

我用创建串口,方法如下:
List splist=new List();
SerialPort sp=new SerialPort();
sp.PortName ="COM1";
sp.BaudRate = 4800;
sp.DataBits = 8;
splist.Add(sp);
sp=new SerialPort();
sp.PortName ="COM2";
sp.BaudRate = 4800;
sp.DataBits = 8;
splist.Add(sp);

sp.DataReceived += Sp_DataReceived;

private void Sp_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
//数据接收
}

无法收到串口返回的数据。
请问:如何接收返回的数据?

需要调用sp.Open函数,打开串口设备才行!