WEB开发网
开发学院软件开发VC Win32串口编程 阅读

Win32串口编程

 2007-03-17 22:00:53 来源:WEB开发网   
核心提示: dwDesiredAccess:指定串口访问的类型,可以是读取、写入或二者并列;dwShareMode:指定共享属性,Win32串口编程(2),由于串口不能共享,该参数必须置为0;lpSecurityAttributes:引用安全性属性结构,DCB结构包含了诸如波特率、数据位数、奇偶校验和

dwDesiredAccess:指定串口访问的类型,可以是读取、写入或二者并列;

dwShareMode:指定共享属性,由于串口不能共享,该参数必须置为0;

lpSecurityAttributes:引用安全性属性结构,缺省值为NULL;

dwCreationDistribution:创建标志,对串口操作该参数必须置为OPEN_EXISTING;

dwFlagsAndAttributes:属性描述,用于指定该串口是否进行异步操作,该值为FILE_FLAG_OVERLAPPED,表示使用异步的I/O;该值为0,表示同步I/O操作;

hTemplateFile:对串口而言该参数必须置为NULL;

同步I/O方式打开串口的示例代码:

  HANDLE hCom; //全局变量,串口句柄
  hCom=CreateFile("COM1",//COM1口
    GENERIC_READ|GENERIC_WRITE, //允许读和写
    0, //独占方式
    NULL,
    OPEN_EXISTING, //打开而不是创建
    0, //同步方式
    NULL);
  if(hCom==(HANDLE)-1)
  {
    AfxMessageBox("打开COM失败!");
    return FALSE;
  }
  return TRUE;
重叠I/O打开串口的示例代码:  HANDLE hCom; //全局变量,串口句柄
  hCom =CreateFile("COM1", //COM1口
       GENERIC_READ|GENERIC_WRITE, //允许读和写
       0, //独占方式
       NULL,
       OPEN_EXISTING, //打开而不是创建
       FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED, //重叠方式
       NULL);
  if(hCom ==INVALID_HANDLE_VALUE)
  {
    AfxMessageBox("打开COM失败!");
    return FALSE;
  }
    return TRUE;
(2)、配置串口

在打开通讯设备句柄后,常常需要对串口进行一些初始化配置工作。这需要通过一个DCB结构来进行。DCB结构包含了诸如波特率、数据位数、奇偶校验和停止位数等信息。在查询或配置串口的属性时,都要用DCB结构来作为缓冲区。

上一页  1 2 3 4 5 6 7  下一页

Tags:Win 串口 编程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接