WPF写/确认写入串口

时间:2014-08-25 15:36:47

标签: events serial-port

我正在编写一个程序,该程序在串行端口上写入无线设备。固件有一项功能可以确认发送到设备的最后一条消息是否正常,所以我正在尝试使用它并更新GUI上的设置读数,而不是每次我都要求设备进行所有设置变化。我认为我的代码会更好地解释它:

// global variable 
bool queryStatusOK;

//event handler response from serial port
this.QueryStatusReponseEvent += QueryStatusResponse;

private void QueryStatusResponse(byte[] packet)
{
        if (packet[3] == 0) queryStatusOK = true;
        else queryStatusOK = false;
}

public void setParameter(string device)
{
    //send command to serial port to change a single device parameter
    Thread.Sleep(100); //sleep thread so 2 commands are not sent at once
    //send command to confirm previous command was received
    Thread.Sleep(100); //sleep thread to give time for confirmation to receive

    if (queryStatusOK)
        {
            //update GUI at this point
        }
}

该计划不一致。它有时有效,但并非总是如此。即使我将线程休眠延长到一秒钟以给出更新的布尔时间,它仍然有时不会命中它。任何人都可以提出更好的方法吗?

谢谢!

麦克

0 个答案:

没有答案