步驟:
1、createfile,開啟串列埠
示例:g_hcom = createfile(l"com3",
generic_read| generic_write, 0,
null, open_existing,
//必須用0,表示以獨佔的模式來占用串列埠
//開啟除檔案之外的裝置時,用 open_existing
2、setupcomm,用來設定快取大小
3、setcommtimeouts,設定讀寫的超時時間
4、setcommstate,用來設定一些串列埠引數,如波特
率,讀取的位元組數,是否奇偶檢驗。
5、writefile,向串列埠傳送資料
6、readfile,從串列埠讀資料
7、採用非同步的方式來獲取資料,如io完成埠
**:
#include #include #include #include using namespace std;handle g_hcompletionport, g_hcom, g_hevent;
byte buff[1000];
byte writebuf = 0x1a;//這個資料是針對我這塊板子的
dword dwerr;
uint winapi writedata(pvoid pparameter)
else
return 0;
}uint winapi readdata(pvoid pparame)
cout << endl << endl;
} else
setevent(g_hevent);
return 0;
}void main()
// setcommmask(g_hcom, ev_rxchar | ev_txempty);
setupcomm(g_hcom, 1024, 512);
purgecomm(g_hcom, purge_rxabort | purge_rxclear | purge_txabort | purge_txclear);
commtimeouts commtimeout;
commtimeout.readintervaltimeout = 5;
commtimeout.readtotaltimeoutconstant = 1000;
commtimeout.readtotaltimeoutmultiplier = 5;
commtimeout.writetotaltimeoutconstant = 1000;
commtimeout.writetotaltimeoutmultiplier = 5;
setcommtimeouts(g_hcom, &commtimeout);
dcb dcb;
getcommstate(g_hcom, &dcb);
dcb.baudrate = 4800;
dcb.bytesize = 8;
dcb.parity = noparity;
dcb.stopbits = onestopbit;
dcb.fbinary = true;
dcb.fparity = false;
setcommstate(g_hcom, &dcb);
handle hthread[20];
hthread[0] = (handle)_beginthreadex(null, 0, writedata, null, 0, null);
for (int i = 1; i < 20; i++)
waitformultipleobjects(20, hthread, true, infinite);
closehandle(g_hcom);
closehandle(g_hcompletionport);
closehandle(g_hevent);
}
遇到的問題:
1、向串列埠寫資料的時候最好用位元組來寫。
VB 用API操作遊戲杆
暑假閒來無事,隨便找了個網上比較多人推薦的悠閒遊戲來玩了下 咕嚕小天使 正好該遊戲支援遊戲杆,於是我便萌生了做這個小小的軟體的想法,其中參考了kaper的一篇文章 個人心得 windows下對遊戲杆程式設計 未完 小弟第一次在高手如雲的csdn發帖,若有不正確之處,還望各位前輩大蝦們指正 首先介紹關...
串列埠通訊常用API
1 createfile 用途 關閉串列埠 原型 bool closehandle handle hobjedt 引數說明 hobjedt 串列埠控制代碼 操作說明 成功關閉串列埠時返回true,否則返回false 舉例 closehandle hcomm 3 getcommstate 用途 取得串...
用API閘道器把API管起來
最開始只是想找個api閘道器防止api被惡意請求,找了一圈發現基於nginx的openresty lua語言 擴充套件模組orange挺好 也找了kong,但是感覺複雜了點沒用 還偷懶用vagrant結合docker來快速搭建環境,基於別人的dockerfile把整個實驗跑通了,覺得還不錯。想著好像...