vc串行通信相关函数列表

vc串行通信相关函数列表

ID:17460714

大小:36.00 KB

页数:12页

时间:2018-09-01

vc串行通信相关函数列表_第1页
vc串行通信相关函数列表_第2页
vc串行通信相关函数列表_第3页
vc串行通信相关函数列表_第4页
vc串行通信相关函数列表_第5页
资源描述:

《vc串行通信相关函数列表》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、vc串行通信相关函数列表函数名作用1.CreateFile打开串口2.GetCommState检测串口设置3.SetCommState设置串口BuilderCommDCB用字符串中的值来填充设备控制块GetCommTimeouts检测通信超时设置SetCommTimeouts设置通信超时参数SetCommMask设定被监控事件WaitCommEvent等待被监控事件发生WaitForMultipleObjects等待多个被监测对象的结果4.WriteFile发送数据ReadFile接收数据GetOverlappedResult返回最后重叠(异步

2、)操作结果5.PurgeComm清空串口缓冲区,退出所有相关操作6.ClearCommError更新串口状态结构体,并清除所有串口硬件错误7.CloseHandle关闭串行口红颜色标出来的是我用到的一些函数,因为是最简单的应用,所以用到的函数也都是最最简单的一些,都是非常容易理解的。只是通过计算机向51发送指令所以连ReadFile()都没用到。省了很多事。。。。。。1.CreateFile()功能:打开串口设备函数原型HANDLECreateFile(LPCTSTRlpFileName,//串口名称字符串;如:"COM1"或"COM2"DWO

3、RDdwDesiredAccess,//设置读写属性(访问模式);一般为GENERIC_READ

4、GENERIC_WRITE,DWORDdwShareMode,//共享模式;"必须"为0,即不能共享LPSECURITY_ATTRIBUTESlpSecurityAttributes,//安全属性;一般为NULLDWORDdwCreationDistribution,//创建方式,串口设置必须设置此值;在这里"必须"为OPEN_EXISTINGDWORDdwFlagsAndAttributes,//文件属性和标志;在这里我们设置成FILE_FLAG

5、_OVERLAPPED,实现异步I/O关于//OverlappedI/O模型,自己上网搜了去理解吧,我自己也说不清楚,懵懂的很。HANDLEhTemplateFile//临时文件的句柄,通常为NULL);说明:如果调用成功,那么该函数返回文件的句柄,如果调用失败,则函数返回INVALID_HANDLE_VALUE。2.GetCommState()功能:获得串口状态BOOLGetCommState(HANDLEhFile,//handleofcommunicationsdeviceLPDCBlpDCB//addressofdevice-contr

6、olblockstructure);3.SetCommState()功能:设置串口状态BOOLSetCommState(HANDLEhFile,//handleofcommunicationsdeviceLPDCBlpDCB//addressofdevice-controlblockstructure);说明:在打开通信设备句柄后,常常需要对串行口进行一些初始化工作。这需要通过一个DCB结构来进行。DCB结构包含了诸如波特率、每个字符的数据位数、奇偶校验和停止位数等信息。在查询或配置置串行口的属性时,都要用DCB结构来作为缓冲区。调用GetCo

7、mmState函数可以获得串口的配置,该函数把当前配置填充到一个DCB结构中。一般在用CreateFile打开串行口后,可以调用GetCommState函数来获取串行口的初始配置。要修改串行口的配置,应该先修改DCB结构,然后再调用SetCommState函数用指定的DCB结构来设置串行口Forexample:DCBdcb;memset(&dec,0,sizeof(dcb));if(!GetCommState(HComm,&dcb))//获取当前DCB配置returnFALSE;dcb.BaudRate=CBR_9600;//修改数据传输率。。

8、。。这里还有很多参数可以修改,比如,停止位,有无校验等等,具体参见dcb结构。............if(SetCommState(hComm,&dcb))//设置新参数......//错误处理4.WriteFile()功能:来将资料写入Serialport.函数原型:BOOLWriteFile(HANDLEhFile,//handletofiletowritetoLPCVOIDlpBuffer,//写如字符串的首地址DWORDnNumberOfBytesToWrite,//要写如字符的个数LPDWORDlpNumberOfBytesWrit

9、ten,//实际写入字节数,为一个int型指针LPOVERLAPPEDlpOverlapped//i/o重构结构,我讲不清楚,sorry);说明:Re

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。