我试图编写从Arduino板读取数据的winforms。 CLR应用程序不允许线程,所以我必须用一个监听器来解决这个问题。如何通过使用WaitCommEvent
在端口上获得数据时触发侦听器我的代码就像这个site
上的example2答案 0 :(得分:1)
使用COM端口的DataReceived。 com端口中的用户ReadLine方法,例如:
private:
System::Void comPort1_DataReceived(System::Object ^sender, System::IO::Ports::SerialDataReceivedEventArgs ^e)
{
System^ data = comPort1->ReadLine();
this->Invoke(gcnew EventHandler(processData));
}
System::Void processData(System::Object ^sender, System::EventArgs ^e)
{
// data receive
}
使用.Net,阅读本教程:http://www.c-sharpcorner.com/uploadfile/eclipsed4utoo/communicating-with-serial-port-in-C-Sharp/。