在C ++ Winforms应用程序中使用Listener的WaitCommEvent

时间:2014-10-23 08:15:30

标签: winforms serial-port c++-cli listener

我试图编写从Arduino板读取数据的winforms。 CLR应用程序不允许线程,所以我必须用一个监听器来解决这个问题。如何通过使用WaitCommEvent

在端口上获得数据时触发侦听器

我的代码就像这个site

上的example2

1 个答案:

答案 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/