没有合适的资源?快使用搜索试试~ 我知道了~
蓝海微芯 Windows串口编程API函数.doc
需积分: 0 0 下载量 65 浏览量
2019-10-18
03:08:30
上传
评论
收藏 89KB DOC 举报
温馨提示
试读
15页
蓝海微芯 Windows串口编程API函数doc,蓝海微芯 Windows串口编程API函数
资源推荐
资源详情
资源评论
Windows 串口编程 API 函数·
打开串口:
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 信号重新发出。
fOutxDsrFlow:指定 DSR(data-set-ready)信号是否被监视并作为
输出流控制信号。如果该参数设置为 TRUE,同时 DSR 信号被关闭,
则输出被挂起,直到 DSR 信号重新发出。
fDtrControl:指定 DTR(data-terminal-ready)信号是否作为数据流
控制信号。该参数可以设置为:
DTR_CONTROL_DISABLE
当串口设备打开时,DTR 信号线
始终设为禁止
剩余14页未读,继续阅读
资源评论
weixin_38744153
- 粉丝: 346
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C语言基础-C语言编程基础之Leetcode编程题解之第30题串联所有单词的子串.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第29题两数相除.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第28题找出字符串中第一个匹配项的下标.zip
- 实验报告模板(1).docx
- C语言基础-C语言编程基础之Leetcode编程题解之第26题删除有序数组中的重复项.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第25题K个一组翻转链表.zip
- hnu计算机系统作业-计算机系统基础课程大作业.zip
- 树莓派app.apk
- C++的基于同态加密技术的匿名电子投票系统源码.zip
- SW建模格式图.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功