前幾篇大概介紹了串列埠的相關幾個結構,了解後開始進入windows api的基本操作
1.createfile建立開啟串列埠
用指定的方式開啟指定的串列埠,注意檔案在windows的概念很廣泛,包括:檔案、通訊裝置、命名管道、郵件、磁碟和控制台。
我們前面宣告了控制代碼
/*串列埠控制代碼*/
handle m_hcomm;
那麼接下來可以這樣建立:
m_hcom = createfile( "com1", //串列埠1
generic_read | generic_write, //指定可以對串列埠進行讀寫操作
0, //表示串列埠為獨佔開啟
null,
open_existing, //表示當指定串列埠不存在時,程式將返回失敗
null );
2.readfile:讀取串列埠資料
宣告如下:
winbaseapi
bool
winapi
readfile(
handle hfile, //檔案控制代碼
lpvoid lpbuffer,//讀寫資料緩衝區
dword nnumberofbytestoread,//多少資料要讀取
lpdword lpnumberofbytesread,//已經讀取多少資料
);3.writefile:向串列埠寫資料
winbaseapi
bool
winapi
writefile(
handle hfile,//檔案控制代碼
lpcvoid lpbuffer,//讀寫資料緩衝區
dword nnumberofbytestowrite,//多少資料要寫入
lpdword lpnumberofbyteswritten,//已經寫入多少資料
);4.closehandle:關閉串列埠
winbaseapi
bool
winapi
closehandle(
handle hobject
);5.getcommstate獲取當前串列埠配置
winbaseapi
bool
winapi
getcommstate(
handle hfile,//通訊裝置控制代碼
lpdcb lpdcb//指向dcb
);6.setcommstate配置串列埠
winbaseapi
bool
winapi
setcommstate(
handle hfile,//通訊裝置控制代碼
lpdcb lpdcb//指向dcb
);7.setcommtimeouts超時設定
winbaseapi
bool
winapi
setcommtimeouts(
handle hfile,
lpcommtimeouts lpcommtimeouts//超時結構
);8.clearcommerror清除錯誤標誌
winbaseapi
bool
winapi
clearcommerror(
handle hfile,//通訊裝置
lpdword lperrors,//錯誤掩碼型別
lpcomstat lpstat);
10.waitforsingleobject非同步io事件獲取
winbaseapi
dword
winapi
waitforsingleobject(
handle hhandle,
dword dwmilliseconds
);11.waitformultipleobjects等待多個事件
winbaseapi
dword
winapi
waitformultipleobjects(
dword ncount, //事件控制代碼組的事件組
const handle *lphandles,//事件陣列
bool bwaitall,//true:所有事件發生才返回;false:有乙個事件發生就返回
dword dwmilliseconds//等待時間
);12.setcommmask通訊事件設定
winbaseapi
bool
winapi
setcommmask(
handle hfile,
dword dwevtmask//事件碼
);13.getcommmask當前通訊事件獲取
winbaseapi
bool
winapi
getcommmask(
handle hfile,
lpdword lpevtmask
);14.waitcommevent通訊事件監測
15.createevent事件建立
handle createevent(
lpsecurity_attributes lpeventattributes,
bool bmanualreset,
bool binitialstate,
lpcstr lpname
);常用的就這麼多了,不熟悉的去msdn查,看看就知道用法
串列埠程式設計 (1)串列埠基本知識
計算機為了弄懂傳給它的序列資料,它需要確定每個字元開始和結束的位置。這通常是用非同步序列資料來完成的。在非同步模式中,除非有字元被傳輸,否則序列資料線總是處於mark 1 狀態。有乙個start位會被加入傳輸字元的各個位之前,在字元本身的位之後會有乙個可選的parity位和乙個或者多個stop位。s...
串列埠通訊模組2 串列埠通訊程式設計基礎 開啟 配置
有兩種方式可以操作串列埠 同步操作方式和非同步操作方式 即重疊操作方式 同步操作時,api函式會阻塞直到操作完成以後才能返回 在多執行緒方式中,雖然不會阻塞主線程,但是仍然會阻塞監聽執行緒 而非同步操作方式,api函式會立即返回,操作在後台進行,避免程序阻塞。非同步操作方式還允許讀 寫操作能同時進行...
linux串列埠通訊(一) 串列埠的概念
二 串列埠內部 序列介面 serial inte ce 是指資料一位一位地順序傳送,其特點是通訊線路簡單,只要一對傳輸線就可以實現雙向通訊 可以直接利用 線作為傳輸線 從而大大降低了成本,特別適用於遠距離通訊,但傳送速度較慢。一條資訊的各位資料被逐位按順序傳送的通訊方式稱為序列通訊。序列通訊的特點是...