开发者

DataReceived Event handler not receiving messages

开发者 https://www.devze.com 2022-12-25 23:18 出处:网络
I\'m using the below code to receive the messages using serial port event handler. But it dosent receives any.I am not getting errors. The code breaks in \"string msg = comport.Readline()\" Am i doing

I'm using the below code to receive the messages using serial port event handler. But it dosent receives any.I am not getting errors. The code breaks in "string msg = comport.Readline()" Am i doing something wrong ?

public partial class SerialPortScanner : Form
{
    private SerialPort comPort = new SerialPort();

    public SerialPortScanner()
    {
        InitializeComponent();
        comPort.Open();
        comPort.DataReceived += new SerialDataReceivedEventHand开发者_Python百科ler(comPort_DataReceived);

    }


    void comPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
    {
        if (comPort.IsOpen == true)
        {
            string msg = comPort.ReadLine();
            MessageBox.Show(msg);
        }
    }
}


The DataReceived event is raised on a secondary thread when data is received from the SerialPort object. Because this event is raised on a secondary thread, and not the main thread, attempting to modify some elements in the main thread, such as UI elements, could raise a threading exception.

Source : Check this


ReadLine depends on having a NewLine character. You might have better luck with the Read method. See also the BytesToRead property.

0

精彩评论

暂无评论...
验证码 换一张
取 消