SerialCtl and SerialThread
是一個polling mode的Serial port 通訊class。
因為是polling mode,為了不要block 整個程式的動作,通常用一個thread來執行SerialCtl。這個Thread不斷的poll COM PORT reading,並且提供一個interface,讓外部經由Thread 控制SerialCtl作Sending,Open,Close COM PORT的動作。
所以實際讓外界接觸到的應該是SerialThread Class。SerialCtl只是將WINAPI包裝起來的Class。
SerialCtl
SerialCtl
~SerialCtl
setStatus
return : void
argument :
BOOL on_off
**** 沒有implement ****
openPort
return : bool
argument :
DCB dcb
const char* portName="COM1"
使用WINAPI (CreateFile,GetCommState,SetCommState,SetCommTimeouts),開啟COM PORT (由argument : port_Name指定)。並且依照dcb的內容設定COM PORT。
read_scc
return : bool
argument :
char *inputData
const unsigned int& sizeBuffer
unsigned long& length
使用WINAPI (ReadFile) 向COM Port讀取資料。
write_scc
return : bool
argument :
LPCVOID data
const unsigned int& sizeBuffer
unsigned long& length
用WINAPI (WriteFile) 向COM PORT寫入 length數量(單位: byte)的資料。
getHandlePort
return : HANDLE
argument : void
**** 沒有implement ****
getStatusPort
return : bool
argument : void
傳回port的open/close狀態
沒有留言:
張貼留言