我有一个 WPF 应用程序,它有一个用于称重负载的模块。由于串行端口通信因地磅而异,因此我想将称重模块设为单独的 dll。
我正在创建一个类库,我在其中使用串行端口来称重负载。我需要将重量返回给主程序。
double GetWeights()
{
spWeigh = new SerialPort("COM1", 2400, Parity.None, 8, StopBits.One);
spWeigh.RtsEnable = false;
spWeigh.DtrEnable = false;
spWeigh.Handshake = Handshake.None;
spWeigh.ReadTimeout = 10000;
spWeigh.DataReceived +=spWeigh_DataReceived;
}
但是收到的数据在不同的线程中。我将如何在我的主程序中恢复体重?
void spWeigh_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
// code here
}