• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        讀寫串行口數據,理論上很容易,PHP倒沒試過。。。

        讀寫串行口數據,理論上很容易,PHP倒沒試過。。。

        更新時間:2022-04-30 文章作者:未知 信息來源:網絡 閱讀次數:

        我沒看過PHP源碼,但它有文件操作函數,我想應該可以吧?實在不行,那么做個CGI來實現也可以,而且獨立性好,容易維護。以前我在BCB環境下做過,思路如下:(其實相當于普通的文件讀寫操作,呵呵)

        一、打開文件

        //先用文件方式打開一個串口(COM1~~COM4中任一個)
        HANDLE m_hComm = CreateFile("COM2", GENERIC_READ | GENERIC_WRITE, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);

        然后就可以用WriteFile()和ReadFile()來對串行口進行讀寫了,最后記得CloseHandle(m_hComm);把當前打開的串行口關閉哦。
        由于CreateFile()函數采用FILE_FLAG_OVERLAPPED常量,那么注意一下WriteFile()和ReadFile()函數的最后一個參數是OVERLAPPED結構的,讀寫前需要先初始化該結構:

        OVERLAPPED m_ov;

        m_ov.Offset = 0;
        m_ov.OffsetHigh = 0;
        m_ov.hEvent = NULL;

        好了,上面已經打開COM2,那么就進行簡單讀寫:

        二、寫:

        BOOL bResult = true;
        char* m_WriteBuffer;
        DWORD BytesSent = 0;

        strcpy(m_WriteBuffer, "試試寫進去");
        bResult = WriteFile(m_hComm, m_WriteBuffer, strlen((char*)m_WriteBuffer), &BytesSent, m_ov);


        三、讀:

        COMSTAT comstat;//該結構包含通信設備的狀態。
        BOOL bResult = true;
        DWORD dwError = 0;
        DWORD BytesRead = 0;
        unsigned char m_ReadBuff;
        //開始循環讀
        for (;;)
        {
        bResult = ClearCommError(m_hComm, &dwError, &comstat);//更新COMSTAT結構并清除所有錯誤
        if (comstat.cbInQue == 0)
        {
        break;//如果讀完了就退出for循環
        }

        bResult = ReadFile(m_hComm, &ReadBuff, 1, &BytesRead, m_ov);//一次讀一位,如果喜歡,你也可以一次讀n位
        ......
        //在這里放入你的處理模塊,反正ReadBuff里是內容(1位),可以合并起來......
        ......
        }

        四、關掉
        CloseHandle(m_hComm);


        以上思路可以通過函數返回值進行錯誤處理,至于各錯誤常量的意思可以查書,完整處理是麻煩點,知道方法就可以了,只要你是簡單應用,那么簡單讀寫就足夠了。這個文件讀寫方式還適用于打印口LPT1、LPT2~~~LPTn。在Unix下我沒試過,但既然Unix類的操作系統比Windows更加強調設備文件,相信在Unix、Linux下用文件方式讀寫COM口更簡單更通用吧。。。?還是這句:知道方法就行。該出手時就出手。^_^
        不過如果在Unix、Linux下作為CGI來用的話,可能要設置編譯后CGI文件的權限,自己試哦。

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 久久亚洲国产成人亚| 亚洲人成人77777网站| 亚洲乱码在线视频| 在线亚洲高清揄拍自拍一品区| 中文字幕乱码亚洲精品一区| 3d成人免费动漫在线观看| 亚洲精品高清一二区久久| 亚洲宅男天堂a在线| 中文字幕亚洲免费无线观看日本 | 亚洲va久久久久| 成人免费无码大片A毛片抽搐 | 国色精品卡一卡2卡3卡4卡免费| 911精品国产亚洲日本美国韩国| 亚洲AV无码专区在线观看成人| 免费人成在线观看视频高潮| 国产av天堂亚洲国产av天堂| 男人j进女人p免费视频| 亚洲色图综合在线| 可以免费观看的国产视频| 亚洲成a人片毛片在线| 免费毛片在线看片免费丝瓜视频 | 亚洲天堂免费在线视频| 9i9精品国产免费久久| 久久久婷婷五月亚洲97号色| 久香草视频在线观看免费| 亚洲精品中文字幕乱码三区| 3344永久在线观看视频免费首页| 日韩亚洲产在线观看| 亚洲另类少妇17p| 亚洲免费视频观看| 黄色免费在线观看网址| 久久精品a亚洲国产v高清不卡| 成人性生交大片免费看午夜a| 有码人妻在线免费看片| 久久精品国产亚洲AV大全| 国产色婷婷精品免费视频| 亚洲乱码在线播放| 久久精品国产精品亚洲人人 | 精品少妇人妻AV免费久久洗澡| 久久亚洲精品成人av无码网站| 女人18毛片水真多免费看|