串口网络编程(API编程一般方法)

串口网络编程(API编程一般方法)

ID:38647631

大小:81.00 KB

页数:8页

时间:2019-06-17

串口网络编程(API编程一般方法)_第1页
串口网络编程(API编程一般方法)_第2页
串口网络编程(API编程一般方法)_第3页
串口网络编程(API编程一般方法)_第4页
串口网络编程(API编程一般方法)_第5页
资源描述:

《串口网络编程(API编程一般方法)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、VC中串口编程的流程1、关于串口编程的windows自带的API函数,只有Linux中的编程,也有相应的库函数供调用--后面章节有讲解(1)CreateFile()--把串口的操作当作一种文件的方式来处理用途:打开串口原型:HANDLECreateFile(LPCTSTRlpFileName,DWORDdwDesiredAccess,DWORDdwShareMode,LPSECURITY_ATTRIBUTESlpSecurityAttributes,DWORDdwCreationDistribution,DWORDdwFlagsAndAttributes,HANDLEhTem

2、plateFile);参数说明:-lpFileName:要打开的文件名称。对串口通信来说就是COM1或COM2。-dwDesiredAccess:读写模式设置。此处应该用GENERIC_READ及GENERIC_WRITE。-dwShareMode:串口共享模式。此处不允许其他应用程序共享,应为0。-lpSecurityAttributes:串口的安全属性,应为0,表示该串口不可被子程序继承。-dwCreationDistribution:创建文件的性质,此处为OPEN_EXISTING.-dwFlagsAndAttributes:属性及相关标志,这里使用异步方式应该用FIL

3、E_FLAG_OVERLAPPED。-hTemplateFile:此处为0。操作说明:若文件打开成功,串口即可使用了,该函数返回串口的句柄,以后对串口操作时即可使用该句柄。举例:HANDLEhComm;hComm=CreateFile("COM1",//串口号GENERIC_READ

4、GENERIC_WRITE,//允许读写0,//通讯设备必须以独占方式打开NULL,//无安全属性OPEN_EXISTING,//通讯设备已存在FILE_FLAG_OVERLAPPED,//异步I/O0);//通讯设备不能用模板打开hComm即为函数返回的串口1的句柄。(2)CloseHandl

5、e()用途:关闭串口原型:BOOLCloseHandle(HANDLEhObjedt)参数说明:-hObjedt:串口句柄操作说明:成功关闭串口时返回true,否则返回false举例:CloseHandle(hComm);(3)GetCommState()用途:取得串口当前状态原型:BOOLGetCommState(HANDLEhFile,LPDCBlpDCB);参数说明:-hFile:串口句柄-lpDCB:设备控制块(DeviceControlBlock)结构地址。此结构中含有和设备相关的参数。此处是与串口相关的参数。由于参数非常多,当需要设置串口参数时,通常是先取得串口的

6、参数结构,修改部分参数后再将参数结构写入。在此仅介绍少数的几个常用的参数:DWORDBaudRate:串口波特率DWORDfParity:为1的话激活奇偶校验检查DWORDParity:校验方式,值0~4分别对应无校验、奇校验、偶校验、校验置位、校验清零DWORDByteSize:一个字节的数据位个数,范围是5~8DWORDStopBits:停止位个数,0~2分别对应1位、1.5位、2位停止位操作举例:DCBComDCB;//串口设备控制块GetCommState(hComm,&ComDCB);(4)SetCommState()用途:设置串口状态,包括常用的更改串口号、波特率

7、、奇偶校验方式、数据位数等原型:BOOLSetCommState(HANDLEhFile,LPDCBlpDCB);参数说明:-hFile:串口句柄-lpDCB:设备控制块(DeviceControlBlock)结构地址。要更改的串口参数包含在此结构中。操作举例:DCBComDCB;GetCommState(hComm,&ComDCB);//取得当前串口状态ComDCB.BaudRate=9600;//更改为9600bps,该值即为你要修改后的波特率SetCommState(hComm,&ComDCB;//将更改后的参数写入串口(5)WriteFile()用途:向串口写数据原型

8、:BOOLWriteFile(HANDLEhFile,LPCVOIDlpBuffer,DWORDnNumberOfBytesToWrite,LPDWORDlpNumberOfBytesWritten,LPOVERLAPPEDlpOverlapped);参数说明:-hFile:串口句柄-lpBuffer:待写入数据的首地址-nNumberOfBytesToWrite:待写入数据的字节数长度-lpNumberOfBytesWritten:函数返回的实际写入串口的数据个数的地址,利用此变量可判断实际写入的字节

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

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

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