CreateFile在串口中的运用

     在32位的windows系统中,串口和其他通信设备是作为文件处理的。对串口的操作和对文件的操作是完全一样的。通信以调用CreateFile()开始。

     函数原型如下:

HANDLE CreateFile(

  LPCTSTR lpFileName, //指向文件名的指针

  DWORD dwDesiredAccess, //访问模式(写/读)

  DWORD dwShareMode, //共享模式

  LPSECURITY_ATTRIBUTES lpSecurityAttributes, //指向安全属性的指针

  DWORD dwCreationDisposition, //如何创建

  DWORD dwFlagsAndAttributes, //文件属性

  HANDLE hTemplateFile //用于复制文件句柄

  );
lpFileName:指定要打开的串口逻辑名,用字符串表示,如:COM1和COM2

dwDesiredAccess 在串口中一般为读写,故一般连起来使用,既既可以读也可以写:参数为GENERIC_READ|GENERIC_WRITE.

dwShareMode:端口的共享属性。对于串口,他为0,这是与文件与通信设备最大的区别。一个程序打开了一个串口,另外一个程序在用CreateFile创建的时候就会出错。

dwCreationDisposition 在串口中必须设置为OPEN_EXISTING。表示不能创建新端口只能打开已有的端口。

 

如果用CreateFile()函数打开COM1,代码如下:

HANDLE hCom;

hCom=CreateFile("COM1",//  文件名,既是COM1,为逻辑名

GENERIC_READ|GENERIC_WRITE,      //允许读和写

0,//独占方式

NULL,

OPEN_EXISTING,

FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED,  //重叠方式

NULL

);

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值