VC在windows下編寫用於序列通訊的程式

2021-04-12 21:04:27 字數 2364 閱讀 6034

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 每乙...