0.多用非同步通訊方式,個人一般開乙個執行緒來監視串列埠資料接收;
1.個人通常採用基於comstat.cbinque的迴圈查詢+waitcommevent等待ev_rxchar相結合的方式,迴圈查詢方式準確,不丟失資料,但佔cpu時間,waitcommevent不佔時間但只能讀取呼叫其後接到的字元.兩者結合,則可以互補.必請醒的是,當進行連續大資料序列資料時,這種方式中的用waitcommevent來調整cpu占用時間的效果就要大打折扣了,但面對多數時間內不進行的通訊的應用時,這種方式就很有用;
2.在使用clearcommerror(m_hcom,&dwerrorflags,&comstat);前最好可以用sleep(); 等待一段時間,試試吧!效果很好的;
3.使用權setcommmask(m_hcom,ev_rxchar);來設定waitcommevent事件,用setcommmask(m_hcom,0);來中止等待;
4.個人常在接收執行緒使用waitforsingleobject(乙個cevent物件,0)來手工控制線程結束,通常是在等執行緒執行超過一定時間後加以結束.注意cevent物件預設是乙個自動物件;
6.個人多postmessage()及函式引數傳值的方式來傳遞接收來的資料;
VC 的串列埠通訊
vc 的串列埠通訊 vc 的串列埠通訊 代翔在vc 中有兩種方法可以進行串列埠通訊。一種是利用microsoft公司提供的activex 控制項 microsoft communications control。另一種是直接用vc 訪問串列埠。下面將簡述 這兩種方法。一 microsoft comm...
VC 的串列埠通訊
在vc 中有兩種方法可以進行串列埠通訊。一種是利用microsoft公司提供的activex控制項 microsoft communications control。另一種是直接用vc 訪問串列埠。下面將簡述這兩種方法。一 microsoft communications control micro...
非同步串列埠通訊 VC
mycomm.h 多機控制 非同步串列埠通訊 class cmycomm void cmycomm preopensetupqueue dword dwinqueue,dword dwoutqueue int byteusedtime 14400 nbaud 1 commtimeouts timeo...