c++ builder串口通信

c++ builder串口通信

ID:14322249

大小:42.50 KB

页数:17页

时间:2018-07-27

c++ builder串口通信_第1页
c++ builder串口通信_第2页
c++ builder串口通信_第3页
c++ builder串口通信_第4页
c++ builder串口通信_第5页
资源描述:

《c++ builder串口通信》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、c++builder串口通信和编译器没有关系,用api,createfilereadfilewritefile就可以了参考msdn拉然后用readfilewritefile,就象写文件一样。最后用closehandle关闭串口。GetCommState取得串口状态SetCommState设置串口状态ClearCommError清除串口错误PurgeComm清除缓冲区GetCommModemStatus取得串口电位状态清华大学出版社有一本《c++builder与rs_232串行通讯控制》很不错用ap

2、i的createfile打开串口然后用readfilewritefile,就象写文件一样。最后用closehandle关闭串口。GetCommState取得串口状态SetCommState设置串口状态ClearCommError清除串口错误PurgeComm清除缓冲区GetCommModemStatus取得串口电位状态以往的DOS系统是通过DOS中断和BIOS中断向用户提供串行接口的通讯能力。在Windows环境下,C++的开发工具既没有提供象DOS和BIOS中那样专门的串行通讯控制方法,也不允许

3、用户直接控制串口的中断。为了保证资源共享,Windows系统完全接管了各种硬件资源,使用中断来控制端口将破坏系统的多任务性,使系统的稳定性受到影响。但Windows同时也提供了功能强大的API函数使用户能间接的控制串行通讯。1、实现串行通讯的相关API函数API函数不仅提供了打开和读写通讯端口的操作方法,还提供了名目繁多的函数以支持对串行通讯的各种操作。常用函数及作用如表5-1所示。表5-1常用串行通讯API函数及其作用函数名作用CreateFile打开串口GetCommState检测串口设置Se

4、tCommState设置串口BuilderCommDCB用字符串中的值来填充设备控制块GetCommTimeouts检测通信超时设置SetCommTimeouts设置通信超时参数SetCommMask设定被监控事件WaitCommEvent等待被监控事件发生WaitForMultipleObjects等待多个被监测对象的结果WriteFile发送数据ReadFile接收数据GetOverlappedResult返回最后重叠(异步)操作结果PurgeComm清空串口缓冲区,退出所有相关操作Clear

5、CommError更新串口状态结构体,并清除所有串口硬件错误CloseHandle关闭串行口2、打开串口函数CreateFile原本用于打开文件,但它同样可用于打开一个通信端口。与系统中其他对象一样,通信端口也是用句柄来标识的。CreateFile函数返回被操作的通信端口句柄,其调用方法如下:HANDLECreateFile(LPCTSTRlpFileName,//指向文件名字符串的指针DWORDdwDesireAccess,//操作模式DWORDdwShareMode, //共享方式LPSECU

6、RITY_ATTRIBUTESlpSecurityAttributes,//指向安全属性的指针DWORDdwCreationDistribution,//文件建立方式DWORDdwFlagsAndAttributes//文件属性HANDLEhTemplateFile)//模板文件句柄lpFileName:指向一个以NULL结束的字符串,该串指定了要创建、打开或截断的文件、管道、通信源、磁盘设备或控制台的名字。当用CreateFile打开串口时,这个参数可用“COM1”指定串口1,用“COM2”指定

7、串口2,依此类推。dwDesireAccess:指定对文件访问的类型,该参数可以为GENERIC_READ(指定对该文件的读访问权)或ENERIC_WRITE(指定该文件的写访问权)两个值之一或同时为为这两个值。用ENERIC_READ

8、GENERIC_WRITE则指定可对串口进行读写;dwShareMode:指定此文件可以怎样被共享。因为串行口不支持任何共享模式,所以dwShareMode必须设为0;lpSecurityAttributes定义安全属性,一般不用,可设为NULL。Win9x下该参

9、数被忽略;dwCreationDistribution定义文件创建方式,对串口必须设为OPEN_EXISTING,表示打开已经存在的文件;dwFlagsAndAttributes为该文件指定定义文件属性和标志,这个程序中设为FILE_FLAG_OVERLAPPED,表示异步通信方式;hTemplateFile指向一个模板文件的句柄,串口无模板可言,设为NULL。在Windows9x下该参数必须为NULL。用异步读写方式打开串口1的函数调用如下:m_hComm=CreateFile(

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

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

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