一、介紹
cserialio實現乙個對串列埠讀寫的類,有乙個執行緒負責處理對串列埠資料的讀寫,只需要簡單呼叫cserialio提供的api就可以偵聽串列埠的資料。
二、背景
目前網上有同步和非同步的串列埠讀寫控制項,需要使用者去定時的或者啟動乙個執行緒去讀取資料,所以我實現的這個串列埠讀寫類時已經封裝了乙個執行緒來處理讀寫資料,使用者可以基於自己的應用來處理讀寫、開啟和關閉串列埠事件。
三、如何使用
class cserialio{
public:
cserialio();
virtual ~cserialio();
void openport(cstring strportname,cstring strbaudrate);//開啟串列埠
virtual void oneventopen(bool bsuccess); //開啟串列埠成功與否的響應事件
void closeport();//關閉串列埠
virtual void oneventclose(bool bsuccess);//關閉串列埠成功與否的響應事件
virtual void oneventread(char *inpacket,int inlength);//串列埠讀取資料處理事件
void write(char *outpacket,int outlength); //串列埠寫資料
virtual void oneventwrite(int nwritten);//串列埠寫資料的響應事件,nwritten<0表示寫出錯,否則表示實際寫的資料位元組數。
…cserialio 主要是提供7個api,使用者的應用如果是基於視窗,可以繼承該類來處理這幾個事件,然後在視窗上表現出來。
四、實踐結果
原始碼裡基於cserialio類實現了乙個demo,如圖1所示,裡面處理讀寫串列埠成功與否的事件,關閉串列埠事件,及讀寫事件。
圖一:串列埠控制項操作介面
五、結束語
目前很多裝置還是基於串列埠通訊的,對串列埠操作的場景經常是需要一直偵聽串列埠發來的資料,根據讀到的資料來決定發什麼命令給裝置,所以cserialio類很方面使用者來處理以上這種場景。
串列埠控制項開發總結
串列埠控制項開發總結 更新時間 2005 5 27 一 開發進展 開發專案 1 serial.ocx 串列埠通訊控制項 2 serialtest 呼叫serial.ocx 的測試程式,採用 vc開發,在串列埠 modem 上測試通過了。3 vbtest 呼叫serial.ocx 的測試程式,採用 v...
串列埠通訊之控制項註冊
摘自 http www.cnblogs.com edward259 archive 2009 08 21 1551463.html include include include void cpfile char file void regsted void regocx void cpfile c...
深入淺出VC 串列埠程式設計 基於控制項
visual c 為我們提供了一種好用的activex控制項microsoft communications control 即mscomm 來支援應用程式對串列埠的訪問,在應用程式中插入mscomm控制項後就可以較為方便地實現對通過計算機串列埠收發資料。要使用activex控制項mscomm,程式...