新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 射擊模擬訓練器激光靶設計

        射擊模擬訓練器激光靶設計

        作者: 時間:2012-03-30 來源:網絡 收藏

        m_CommDpj.SetRThreshold(10);//設置OnComm事件的響應

        m_Opened=m_CommDpj.SetPortOpen(m_Port);// 打開指定的串口

        打開所需串口后,使用OnComm事件和CommEvent屬性捕捉并檢查通信事件和錯誤的值。發生通信事件或錯誤時將觸發OnComm事件,CommEvent屬性的值將被改變,應用程序通過檢查CommEvent屬性值并作出相應的反應。以下為OnComm事件的源代碼:
        VARIANT m_input1;
        COleSafeArray m_input2;
        long length,i;
        if(m_CommDpj.GetCommEvent()==2)//接收緩沖區內有字符
        {
        m_input1=m_CommDpj.GetInput();//讀取緩沖區內的數據
        m_input2=m_input1;//將VARIANT型變量轉換為ColeSafeArray型變量
        length=m_input2.GetOneDimSize();//確定數據長度
        for(i=0;ilength;i++)
        m_input2.GetElement(i,m_Data+i);//將數據轉換為BYTE型數組
        FromDpj();//進行事件處理
        DpjLock=false;
        }

        4.4 數據文件的生成

        數據文件才文本形式進行存儲。在數據文檔中建立如下結構體:
        struct ShotData{
        unsigned int m_uNum;//編號
        unsigned int m_uSNum;//站號
        unsigned int m_uPlot;//
        CTime m_Curtime;//當前時間};

        數據記錄的源代碼如下:
        void CJGBDoc::GetFileName()//獲取記錄文件名
        {
        CString m_str;
        GetCurrentDirectory(128,m_str.GetBuffer(128));
        m_str.ReleaseBuffer(-1);
        CFileDialog dlg(false,Txt,m_str+*.Txt,NULL,記錄文件(*.Txt));
        if(dlg.DoModal()==IDOK)
        {
        if(file.Open(dlg.GetPathName(),CFile::modeRead)!=0)
        {
        if(AfxMessageBox(文件已存在,是否覆蓋?,MB_YESNO)==IDNO)
        {
        AfxMessageBox(文件保存失敗!);
        return;
        }
        file.Close();
        }
        if(file.Open(dlg.GetPathName(),CFile::modeWrite|CFile::modeCreate)==0)
        {
        AfxMessageBox(文件保存失敗!);
        }
        }
        else
        AfxMessageBox(文件保存失敗!);
        }

        實時記錄函數:
        {
        ---
        CString m_record;
        m_record.Format(%d,%d,%d,%s,m_pDoc-> ShotData.m_uNum,
        m_pDoc-> ShotData.m_uNum, m_pDoc-> ShotData.m_uNum
        m_pDoc-> ShotData.m_CurTime.Format (%y-%m-%d %H:%M:%S));
        file.Write(m_record);
        ---
        }

        模擬信號相關文章:什么是模擬信號


        脈寬調制相關文章:脈寬調制原理
        激光器相關文章:激光器原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 南充市| 巴林右旗| 宝清县| 隆安县| 远安县| 河间市| 南木林县| 凉城县| 上虞市| 若尔盖县| 延安市| 富平县| 井研县| 贞丰县| 灌阳县| 隆安县| 阳西县| 增城市| 彭山县| 汝阳县| 通辽市| 那曲县| 桃江县| 长兴县| 广宗县| 外汇| 荣成市| 静海县| 全州县| 德令哈市| 凤山县| 台中市| 新沂市| 平泉县| 长汀县| 滨州市| 曲阜市| 广宗县| 大石桥市| 蒙阴县| 大余县|