vc在windows下編寫用於序列通訊的程式
既然有這麼多人問這個文體,貝貝就給個visual c++ 4.2寫的
window 95串列埠通訊函式集合(只適用於32位)
需要說明的是:這是我程式的一部分,因此有一些與具體應用無關的部分。
但我覺得關鍵是原理,而不是程式本身.後面有些使用介紹,幫助理解這長的程式。
標頭檔案(.h)
#include "stdafx.h"
#define gwl_pgpsinfo 0
#define gp***trabytes sizeof( long )
#define maxports 4
#define cn_send wm_user+100
#define rxqueue 4096
#define txqueue 4096
// cursor states
#define cs_hide 0x00
#define cs_show 0x01
// flow control flags
#define fc_dtrdsr 0x01
#define fc_rtscts 0x02
#define fc_xonxoff 0x04
// ascii definitions
#define ascii_bel 0x07
#define ascii_bs 0x08
#define ascii_lf 0x0a
#define ascii_cr 0x0d
#define ascii_xon 0x11
#define ascii_xoff 0x13
// data structures
typedef struct taggpsinfo
write_os(npgpsinfo).hevent=createevent(null,true,false,null);
if (null==write_os(npgpsinfo).hevent)
return ( (lresult) true ) ; }
bool near destroygpsinfo()
bool near openconnection()
fretval=setupconnection();
if (fretval)
else }
else
setcursor(holdcursor);
return (fretval); }
bool near setupconnection()
bool near closeconnection()
int near readcommblock(lpstr lpszblock,int nmaxlength)
else }
} return ( dwlength ) ; }
bool near writecommblock(lpstr lpbyte,dword dwbytestowrite)
os.hevent=createevent(null,true,false,null);
if (os.hevent==null)
if (!setcommmask(comdev(npgpsinfo),ev_rxchar)) return (false);
while (connected( npgpsinfo)) }
while ((nlength>0)&&(connected( npgpsinfo)));
} }
closehandle(os.hevent);
threadid(npgpsinfo)=0;
hthread(npgpsinfo)=null;
return(true); }
就這些了,希望能對問這些問題的朋友有所幫助!
一般使用的順序是:
creategpsinfo(被通知的視窗控制代碼,串列埠埠號1或2);
openconnection();//建立聯結它會呼叫setupconnection
destroygpsinfo();//解除聯結它會呼叫closeconnection
可以用readcommblock/writecommblock來讀/寫串列埠
commwatchproc是監視串列埠的執行緒,由openconnection建立
當串列埠有資料來的時侯,它會通知'被通知的視窗控制代碼'的視窗資料傳到的訊息(自定義的)
sendmessage(hgpswnd,cn_send,nlength,(long)(lpstr)abin);
好了,文章結束了!希望能幫助你!
JSONCpp在windows下的VC6編譯和呼叫
其實很簡單,但是不知道的時候根本無從下手,後來看到別人分享的例子,才知道怎麼編譯的。2 解壓縮 3 開啟vc6,新建工程 win32 static library 4 將src裡面的源 全部複製到我們新建的工程目錄下。5 把include下面的json資料夾複製到新建的工程目錄下。6 將裡面的war...
在windows下的VSCode編寫C 配置
之前在看到網上沒有相關中文的vs code的配置教程,於是就自己寫乙個。必須安裝windows下的gcc 配置下來就是這樣,可以進行debug。這是我的外掛程式 將設定放入此檔案中以覆蓋預設設定 其中 clang.executable 填寫自己的g 路徑,必須為絕對路徑,而且使用雙反斜槓 c cpp...
在Windows和VC 6 0下的ACE安裝手冊
5 如果使用c 標準庫,比如 iostream之類的,在 config.h 中 include 之前新增 define ace has standard cpp library 1 6 如果使用mfc 在 config.h 中 include 之前新增 define ace has mfc 1 每乙...