WinCE串口API函数

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

打开串口:

HANDLE CreateFile(

LPCTSTR lpFileName,

DWORD dwDesiredAccess,

DWORD dwShareMode,

LPSECURITY_ATTRIBUTES lpSecurityAttributes,

DWORD dwCreationDisposition,

DWORD dwFlagsAndAttributes,

HANDLE hTemplateFile

);

在Windows CE下,利用CreateFile函数打开一个COM口时,dwShareMode(共享模式)必须设置为0,表示独占方式;lpSecurityAttributes(安全参数)必须设置为NULL;hTemplateFile (模板文件)必须设置为NULL;dwCreationDisposition需要设置为OPEN_EXISTING。则上述函数简化为:

HANDLE CreateFile(

LPCTSTR lpFileName,

DWORD dwDesiredAccess,

0,

NULL,

OPEN_EXISTING,

DWORD dwFlagsAndAttributes,

NULL

);

其中dwDesiredAccess设置为GENERIC_READ表示可读,设置为GENERIC_WRITE表示可写。通常可通过如下示例打开一个串口。CreateFile(

_T("COM1:"),

GENERIC_READ | GENERIC_WRITE, //允许读和写

0, //独占方式(共享模式)

NULL,

OPEN_EXISTING, //打开而不是创建(创建方式)

0,

NULL

);

打开串口成功,函数返回串口句柄;打开串口失败,函数返回INVALID_HANDLE_VALUE

·关闭串口:

BOOL CloseHandle(

HANDLE hObject

);

如:CloseHandle(m_hComm); //m_hComm是CreateFile函数返回的串口句柄。

关闭串口成功,函数返回非零值;关闭串口失败,函数返回零。

·DCB(设备控制块):

DCB结构完全描述了串口的使用参数。

typedef struct _DCB {

DWORD DCBlength; /* sizeof(DCB) */

DWORD BaudRate; /* Baudrate at which running */

DWORD fBinary: 1; /* Binary Mode (skip EOF check) */

DWORD fParity: 1; /* Enable parity checking */

DWORD fOutxCtsFlow:1; /* CTS handshaking on output */ DWORD fOutxDsrFlow:1; /* DSR handshaking on output */ DWORD fDtrControl:2; /* DTR Flow control */

DWORD fDsrSensitivity:1; /* DSR Sensitivity */

DWORD fTXContinueOnXoff: 1; /* Continue TX when Xoff sent */

DWORD fOutX: 1; /* Enable output X-ON/X-OFF */

DWORD fInX: 1; /* Enable input X-ON/X-OFF */

DWORD fErrorChar: 1; /* Enable Err Replacement */

DWORD fNull: 1; /* Enable Null stripping */

DWORD fRtsControl:2; /* Rts Flow control */

DWORD fAbortOnError:1; /* Abort all reads and writes on Error */

DWORD fDummy2:17; /* Reserved */

WORD wReserved; /* Not currently used */

WORD XonLim; /* Transmit X-ON threshold */

WORD XoffLim; /* Transmit X-OFF threshold */

BYTE ByteSize; /* Number of bits/byte, 4-8 */

BYTE Parity; /* 0-4=None,Odd,Even,Mark,Space */

BYTE StopBits; /* 0,1,2 = 1, 1.5, 2 */

char XonChar; /* Tx and Rx X-ON character */

char XoffChar; /* Tx and Rx X-OFF character */

char ErrorChar; /* Error replacement char */

char EofChar; /* End of Input character */

char EvtChar; /* Received Event character */

WORD wReserved1; /* Fill for now. */

} DCB, *LPDCB;

DCBlength:指定DCB结构的大小。

BaudRate:指定通信设备的波特率,常用的如:CBR_9600。fBinary:该参数必须设置为TRUE,使能二进制传输模式,因为Win32 API不支持非二进制传输模式。

fParity:指定是否执行奇偶校验。

fOutxCtsFlow:指定CTS(clear-to-send)信号是否被监视并作为输出流控制信号。如果该参数设置为TRUE,同时CTS信号被关闭,则输出被挂起,直到CTS信号重新发出。

相关文档
最新文档