• 1.摘要
  • 2.简介
  • 3.扩充

GetCommState

GetCommState函数的第一个参数hFile是由CreateFile函数返回指向已打开串行口的句柄。

简介

GetCommState 读取串口设置(波特率,校验,停止位,数据位等).

函数声明:

BOOL GetCommState(

HANDLEhFile,

LPDCBlpDCB

);

GetCommState函数的第一个参数hFile是由CreateFile函数返回指向已打开串行口的句柄。第二个参数指向设备控制块DCB。如果函数调用成功,则返回值为非0;若函数调用失败,则返回值为0。

当应用程序仅仅需要修改一部分串行口的配置值时,可以通过GetCommState函数获得当前的DCB结构,然后更改参数,再调用SetCommState函数设置修改过的DCB来配置串行口。

扩充

一般用CreateFile打开串口后,可以调用GetCommState函数来获取串口的初始配置。要修改串口的配置,应该先修改DCB结构,然后再调用SetCommState函数设置串口。

DCB结构包含了串口的各项参数设置,下面仅介绍几个该结构常用的变量:

typedefstruct _DCB { //………//波特率,指定通信设备的传输速率。这个成员可以是实际波特率值或者下面的常量值之一:

DWORD BaudRate; //CBR_110,CBR_300,CBR_600,CBR_1200,CBR_2400,CBR_4800,CBR_9600,CBR_19200, CBR_38400,

//CBR_56000, CBR_57600, CBR_115200, CBR_128000, CBR_256000, CBR_14400 DWORD

fParity; // 指定奇偶校验使能。若此成员为1,允许奇偶校验检查 //…

BYTE ByteSize; // 通信字节位数,4—8

BYTE Parity; //指定奇偶校验方法。此成员可以有下列值:

//EVENPARITY 偶校验 NOPARITY 无校验//MARKPARITY 标记校验 ODDPARITY 奇校验