我设计一个pc机控制多点温度测量系统,也就是说用pc控制单片机,单片机控制温度传感器,我用的是VC++编程设计PC界面,现在有3个测点,我想设置3个单选按钮,当单击其中之一时PC机就会向单片机发出一个控制信号,读取其温度值。
我的问题是怎么实现上面这个功能?添加什么代码呢?
谢谢!

解决方案 »

  1.   

    /*
     * 函数介绍 : 在指定时间内读取字节数组
     * 输入参数 : double seconds : 延迟时间
     *   DWORD BytesToRead : 期望读取的字节数
     * 输出参数 : BYTE* ReadString : 读取的字节数
     *   LPDWORD BytesRead : 实际读取的字节数
     * 输出参数 : 无
     * 返 回 值 : BOOL,读成功,返回为TRUE;读失败,返回FLASE
     */
    BOOL CComPort::DealyReadBuffer(double seconds, BYTE* ReadString, DWORD BytesToRead, LPDWORD BytesRead)
    {
    sleep(seconds*1000);
    *BytesRead = m_RecvLen;
    memcpy(ReadString,m_RecvBuffer,m_RecvLen);
       
    return (*BytesRead == BytesToRead);
    }
      

  2.   

    如果说只是三个按钮得话,直接把控件拖到你对话框窗口上,然后响应BN_CLICKED消息就可以啦,如果特定得某个单选按钮被点击时,PC机通过串口给仪表发送命令,一般发送命令得结束符是ASCII为0A得字符,可以在初始化串口得时候,把0A赋值给DCB结构变量的成员EvtChar,这样串口接收到这个字符的时候,就采集数据,能够很好的保证数据的完整性。