CreateFile
http://bbs.fishc.com/thread-72944-1-1.html

(出处: 鱼C论坛)

------------------------------------------------------------------------

CreateFile用于打开串口,如果操作成功,返回一个句柄.

1 function CreateFile(lpFileName: PChar; dwDesiredAccess, dwShareMode: DWORD;
2   lpSecurityAttributes: PSecurityAttributes; dwCreationDisposition, dwFlagsAndAttributes: DWORD;
3   hTemplateFile: THandle): THandle; stdcall;  

来解释一下参数.
lpFileName:要打开的串口逻辑名称,比如:COM1,COM2....,记住一点,如果打开的串口大于10,直接的COM10是打不开的,需要改成 \\.\COM10 才可以.
dwDesiredAccess:访问串口的方式,可读,可写,或者是可读&可写.
dwShareMode:共享模式,串口不可共享,这个要填写0.
lpSecurityAttributes:安全属性的结构体指针,缺省为nil.
dwCreationDisposition:创建标志,操作串口应该设置为OPEN_EXISTING.
dwFlagsAndAttributes:属性和标志位,如果需要异步I/O的操作,需要增加该标志FILE_FLAG_OVERLAPPED.缺省为FILE_ATTRIBUTE_NORMAL.异步I/O的操作不在此讨论,有兴趣可以看看侯捷翻译的win32多线程程序设计.
hTemplateFile:模板文件句柄,串口操作,这个要填写0.

其他的详细参数,可以参考delphi的帮助,或者MSDN.

例子:

1 FCommHandle := CreateFile(PCHAR(FCommName), 
                            GENERIC_READ or GENERIC_WRITE,
                            0, 
                            nil, 
                            OPEN_EXISTING, 
                            FILE_ATTRIBUTE_NORMAL, 
                            0);
3 FCommHandle := CreateFile(PCHAR('\\.\COM12'), GENERIC_READ or GENERIC_WRITE,
4                       0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);  

串口操作之API篇 CreateFile相关推荐

  1. 5.串口操作之API篇 SetupComm GetCommState SetCommState

    SetupComm 设置串口的缓冲区 1 function SetupComm(hFile: THandle; dwInQueue, dwOutQueue: DWORD): BOOL; stdcall ...

  2. 7.串口操作之API篇 GetCommMask SetCommMask WaitCommEvent

    GetCommMask,SetCommMask:读取和设置串口上的事件掩码. WaitCommEvent:根据SetCommMask设置的事件掩码,以阻塞的方式来等待事件的触发. 1 function ...

  3. C# 串口操作系列(1) -- 入门篇,一个标准的,简陋的串口例子。

    我假设读者已经了解了c#的语法,本文是针对刚打算解除串口编程的朋友阅读的,作为串口编程的入门范例,也是我这个系列的基础. 我们的开发环境假定为vs2005(虽然我在用vs2010,但避免有些网友用20 ...

  4. C# 串口操作系列(3) -- 协议篇,二进制协议数据解析

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wuyazhe/archive/2010/05/27/5627253.aspx 我们的串口程序,除了通用的,进行串口监听 ...

  5. C# 串口操作系列(1) -- 入门篇,一个标准的,简陋的串口例子

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wuyazhe/archive/2010/05/17/5598945.aspx 我假设读者已经了解了c#的语法,本文是针 ...

  6. C# 串口操作系列(1) -- 入门篇,一个标准的,简陋的串口例子。 ——兔子党逍遥原创,转来分享学习

    我假设读者已经了解了c#的语法,本文是针对刚打算解除串口编程的朋友阅读的,作为串口编程的入门范例,也是我这个系列的基础. 我们的开发环境假定为vs2005(虽然我在用vs2010,但避免有些网友用20 ...

  7. windows下的串口编程,串口操作类封装

    以往都是在嵌入式设备中经常操作串口,或者使用QT的串口类.在Win32中处理串口也是有办法的,操作文件的打开和读写进行串口的操作.使用ReadFile.WriteFile函数. 基本步骤 使用Win3 ...

  8. windows串口通信函数API

    windows串口通讯主要函数 先列个目录表 1.CreateFile - 打开串口: 2.SetupComm-初始化一个指定的通信设备的通信参数 3.ReadFile - 读数据: 4.WriteF ...

  9. App项目实战之路(二):API篇

    原创文章,转载请注明:转载自Keegan小钢 并标明原文链接:http://keeganlee.me/post/practice/20160812 微信订阅号:keeganlee_me 写于2016- ...

最新文章

  1. Oracle 表分区删除操作
  2. BCH开发Cashscript语言,可构建自主决策交易特定方案
  3. java content()_理解content(一)
  4. 主机到中继地址的发包路径
  5. 浅谈ATP检查中的“确认可用部分数量”(一)
  6. L1-045 宇宙无敌大招呼
  7. jquery-data的三种用法
  8. android studio打印日志语句Log.d()
  9. 3d激光雷达开发(法向量预测)
  10. 约瑟夫问题-sdut
  11. 51单片机红外遥控小车
  12. rstudio 连接mysql_RStudio 操作MySQL数据库
  13. python中complex的用法,Python complex()函数
  14. php 获取array的长度_php中获取数组长度的方法
  15. 序章---设计模式-各个击破系列
  16. 大衣哥在《火火的情怀》后,和孟文豪张成军推出《新时代的农民》
  17. 哥德巴赫猜想(python)
  18. java开发 三年经验
  19. nginx隐藏Vary头信息
  20. 对象转二进制--》二进制转对象

热门文章

  1. java参数后面跟三个点是什么意思
  2. ObjectArx创建自定义实体
  3. 关于IIS 7.5 限制连接数与流量限制模块
  4. POWERSPLOIT-Recon(信息侦察)脚本渗透实战
  5. PyCharm光标变粗的解决办法
  6. oracle存储过程 --1
  7. 2013网易实习生招聘笔试题
  8. Gearman 启动日志文件提示协议出错的BUG
  9. 进程(并发,并行) join start 进程池 (同步异步)
  10. ArcGIS AO开发高亮显示某些要素