【发布时间】:2014-03-31 01:22:20
【问题描述】:
我是 C# 编程的新手,对串行端口知之甚少。我正在关注微软提供的this method,不断读取进入多个串口的信息。总的来说,我的应用程序是从多个 COM 端口引入数据并对结果数据执行计算任务。
1) 我想使用多个串口。不幸的是,我目前没有足够的 USB-RS232 适配器来测试多个端口。我不确定创建第二个 DataReceivedHandler 方法是否是正确的方法。这是我目前拥有的:
// Receive data on COM Port A
private static void DataReceivedHandlerA(object sender, SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string inDataA = sp.ReadExisting();
}
// Receive data on COM Port B
private static void DataReceivedHandlerB(object sender, SerialDataReceivedEventArgs e)
{
SerialPort spB = (SerialPort)sender;
string inDataB = spB.ReadExisting();
}
2) 在 Main() 循环的其他地方使用从 DataReceivedHandler 方法中接收到的数据。由于该方法是私有的,因此我无法在 Main() 循环中使用 inDataA。每当我公开此方法时,它似乎都失败了。我希望能够返回字符串 inDataB。这可能吗,还是有其他更好的方法来做到这一点。
【问题讨论】:
标签: c# serial-port