zoukankan      html  css  js  c++  java
  • 4.串口操作之API篇 CreateFile

    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,   
    2 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);
  • 相关阅读:
    触发器_01(trigger)
    24.Show table status解析
    Mysql排名问题
    zabbix监控
    MyFlash工具
    23.Sharding:谁都能读懂的分库、分表、分区
    Mysql集群结构说明
    Percona XtraDB Cluster(PXC) Mysql集群
    mysql-router
    MGR搭建的过程中遇见的错误以及处理方法
  • 原文地址:https://www.cnblogs.com/solokey/p/2126556.html
Copyright © 2011-2022 走看看