用creatfile函数打开串口

原创 2013年12月04日 21:43:57

windows把串口设备当做文件来对待操作,所以用CreatFile,CloseFile等函数对串口进行操作。

creatfile函数定义如下:

HANDLE CreatFile(
LPCTSTR lpName,//文件名,此处为串口号
DWORD dwDesireAccess,//访问类型,读(GENERIC_READ)写(GENERIC_WRITE)两者兼有(GENERIC_READ|GENERIC_WRITE)
DWORD dwShareMode,//文件的共享属性,由于串口不能共享,所以设置为0
LPSECURITY_ATTRIBUTES lpSecurityAttributes,//安全属性,参数为LPSECURITY_ATTRIBUTES结构。
DWORD dwCreationDisposition,//指定端口被占用时采取的行动,此处必须设为OPEN_EXISTING,打开一个已经存在的端口
DWORD dwFlagsAndAttributes,//端口属性,FILE_FLAG_OVERLAPPED有意义,可以后台运行
HANDLE hTemplateFile//指向模板文件的句柄,端口时必须设置为零。
);

typedef struct _SECURITY_ATTRIBUTES {   
	DWORD  nLength;   //结构的长度
	LPVOID lpSecurityDescriptor;  //指向一个安全描述符 
	BOOL   bInheritHandle;   //句柄能否被继承
	} SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES; 

 

句柄:用一个四字节长度的值来标志应用程序中的不同对象和同类对象中的不同实例,如一个窗口、按钮等,应用程序能够通过句柄访问相应的对象的信息,但句柄不是一个指针。Windows之所以设置句柄,与内存管理机制的虚拟地址有关,数据的地址要变动,用句柄来记载数据地址的变动,。数据对象家载入内存后获得了地址,但这个地址并不固定,数据对象在内存和硬盘之间游曳移动,所以系统为进程分配固定的地址来储存进程下数据对象变化后的地址,重新启用该数据时,去所属句柄按内容存取即可。

句柄继承:父进程生成子进程时发生,如果是可继承的那么子进程可以通过句柄访问内核对象。不可以继承则子程序不能通过句柄访问内核对象。

用creatfile函数打开串口:

HANDLE hCom;
hCom=CreatFile("COM1",
GENERIC_READ|GENERIC_WRITE,
0,
NULL,
OPEN_EXSTING,
FILE_ATTRIBUTE_NORMAL,
0);


相关文章推荐

串口之CreateFile 函数详解

HANDLE CreateFile( LPCTSTR lpFileName, //指向文件名的指针 DWORD dwDesiredAccess, //访问模式(写/读) DWORD dwShar...

open fopen CreatFile 区别

fopen /open区别 UNIX环境下的C 对二进制流文件的读写有两套班子:1) fopen,fread,fwrite ; 2) open, read, write 这里简单的介绍一下他们的...
  • zwx5225
  • zwx5225
  • 2011年10月12日 18:56
  • 530

wince串口驱动-串口调用流程:先创建注册表,用文件函数打开:

串口调用流程:先创建注册表,用文件函数打开:     // SPL-test-1Dlg.cpp : 实现文件 // #include "stdafx.h" #include "SPL-...

串口之ReadFile、WriteFile函数详解

BOOL ReadFile(   HANDLE hFile, //文件的句柄   LPVOID lpBuffer, //用于保存读入数据的一个缓冲区   DWORD nNumberOfByte...

STM32串口的设置和库函数的介绍

串口设置的一般步骤可以总结为如下几个: 串口设置的一般步骤可以总结为如下几个: 串口设置的一般步骤可以总结为如下几个: 串口设置的一般步骤可以总结为如下几个: 串口设置的一般步骤可以总结为如下几个: ...

基于API函数的串口通信(方法讲解)

用到的串口通信编程方法有:使用通信控件、在高级语言中嵌入汇编以及使用API函数。在这几种方法中,使用API函数编写的串口通信程序最为高效、灵活。串口通信编程将用到三种API函数 ——串口通信相关API...

串口编程 —— 实现 GPS 过程中自己用到的函数 COMMTIMEOUTS,SetCommMask,SetCommTimeouts

串口编程 —— 实现 GPS 过程中自己用到的函数 COMMTIMEOUTS,SetCommMask,SetCommTimeouts 一、COMMTIMEOUTS COMM...

串口termios函数

linux使用terminfo数据库来描述终端能力以及调用对应功能的方法 POSIX定义了完成终端I/O的标准方法:TERMIOS函数族 #include #include ...

WinCE中串口驱动及接口函数介绍

转载自:http://blog.csdn.net/nanjianhui/article/details/2627755 作者:ARM-WinCE   在WinCE中,串口驱动实际上就是一个流设备...

Linux下实现应用层串口库函数

//serialport.h /************************************************************* FileName : s...
  • sunrier
  • sunrier
  • 2012年06月13日 22:48
  • 3827
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用creatfile函数打开串口
举报原因:
原因补充:

(最多只允许输入30个字)