(5) 關閉串口
利用API函數關閉串口非常簡單,只需使用CreateFile函數返回的控制碼作為參數調用CloseHandle即可:BOOL CloseHandle( HANDLE hObject ); //關閉handle
BOOL CloseHandle( HANDLE hObject ); //關閉handle
BOOL ReadFile(
HANDLE hFile, //串口的控制碼
LPVOID lpBuffer, //讀入的資料存儲的位址
DWORD nNumberOfBytesToRead, // 要讀入的資料的位元組數
// 指向一個DWORD數值,該數值返回讀操作實際讀入的位元組數
LPDWORD lpNumberOfBytesRead,
// 重疊操作時,該參數指向一個OVERLAPPED結構,同步操作時,該參數為NULL
LPOVERLAPPED lpOverlapped
);
BOOL WriteFile(
HANDLE hFile, //串口的控制碼
LPCVOID lpBuffer, // 寫入的資料存儲的位址
DWORD nNumberOfBytesToWrite, //要寫入的資料的位元組數
// 指向指向一個DWORD數值,該數值返回實際寫入的位元組數
LPDWORD lpNumberOfBytesWritten,
// 重疊操作時,該參數指向一個OVERLAPPED結構,
// 同步操作時,該參數為NULL。
LPOVERLAPPED lpOverlapped
);
typedef struct _DCB {
………
//串列傳輸速率,指定通信設備的傳輸速率。
//這個成員可以是實際串列傳輸速率值或者下面的常量值之一:
DWORD BaudRate;
//CBR_110,CBR_300,CBR_600,CBR_1200,CBR_2400,CBR_4800,CBR_9600,
//CBR_19200,CBR_38400,CBR_56000, CBR_57600,CBR_115200,
//CBR_128000,CBR_256000,CBR_14400
DWORD fParity; // 指定同位使能。若此成員為1,允許同位檢查
…
BYTE ByteSize; // 通信位元組位元數,4—8
BYTE Parity; //指定同位方法。此成員可以有下列值:
//EVENPARITY 偶校驗 NOPARITY 無校驗
//MARKPARITY 標記校驗 ODDPARITY 奇數同位檢查
BYTE StopBits; //指定停止位的位數。此成員可以有下列值:
//ONESTOPBIT 1位停止位 TWOSTOPBITS 2位停止位
//ONE5STOPBITS 1.5位停止位
………
} DCB;
HANDLE CreateFile( LPCTSTR lpFileName,
DWORD dwDesiredAccess,
DWORD dwShareMode,
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
DWORD dwCreationDistribution,
DWORD dwFlagsAndAttributes,
HANDLE hTemplateFile);