我正在尝试从另一个使用 Unity3D 引擎的程序中使用 .Net 串行端口方法。
我有 ac# 类库 (dll),它在串口接收到一些数据时注册并实现回调函数。
public CSerialDll()
{
_serial.DataReceived += new SerialDataReceivedEventHandler(serial_DataReceived);
}
void serial_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
int bytes = _serial.BytesToRead;
_comBuffer = new byte[bytes];
_serial.Read(_comBuffer, 0, bytes);
Console.WriteLine("data recv: " + System.Text.ASCIIEncoding.ASCII.GetString(_comBuffer));
}
然后在我的另一个程序中,我创建了一个类的实例。
我想知道我在库(dll)中的回调 serial_DataReceived 是否会被调用。我正在尝试从另一个程序中读取库中的 _comBuffer 并且它始终为空(即使当我在同一个应用程序中使用控制台应用程序进行测试时数据正在到来)。
任何帮助是极大的赞赏。
谢谢