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

函数原型如下:

HANDLE CreateFile
(
  LPCTSTR lpFileName, //指向文件名的指针:指定要打开的串口逻辑名,用字符串表示,如:COM1和COM2
   DWORD dwDesiredAccess, //访问模式(写/读):在串口中一般为读写,故一般连起来使用,既既可以读也可以写:参数为GENERIC_READ|GENERIC_WRITE
  DWORD dwShareMode, //共享模式:端口的共享属性。对于串口,他为0,这是与文件与通信设备最大的区别。一个程序打开了一个串口,另外一个程序在用CreateFile创建的时候就会出错。
  LPSECURITY_ATTRIBUTES lpSecurityAttributes, //指向安全属性的指针   
DWORD dwCreationDisposition, //如何创建:在串口中必须设置为OPEN_EXISTING。表示不能创建新端口只能打开已有的端口。
  DWORD dwFlagsAndAttributes, //文件属性   HANDLE hTemplateFile //用于复制文件句柄 
);

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

HANDLE hCom;
hCom=CreateFile
(
"COM1",// 文件名,既是COM1,为逻辑名
GENERIC_READ|GENERIC_WRITE, //允许读和写
,//独占方式
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED, //重叠方式
NULL
);

最新文章

  1. Socket聊天程序——初始设计
  2. socket (一)
  3. word20161225
  4. webpack+vue-cli项目打包技巧
  5. redis 3.0的集群部署
  6. java并发编程-Executor框架
  7. 04斐波那契函数_Fibonacci--(栈与队列)
  8. LPC17XX 数据手册摘要之系统时钟与功率控制
  9. eas bos 编辑界面 editUIt 属性值为空
  10. 如果不能显示真正的考验个别车型toast问题解决
  11. 转载:Ubuntu下deb包的安装方法
  12. Coursera, Big Data 2, Modeling and Management Systems (week 4/5/6)
  13. [Python设计模式] 第28章 男人和女人——访问者模式
  14. itoa()函数
  15. newcoder F石头剪刀布(DFS + 思维)题解
  16. Archlinux 遇到的坑
  17. Head First Servlets & JSP 学习笔记 第五章 —— 作为Web应用
  18. 转载 python多重继承C3算法
  19. Sqoop2安装
  20. Python自动化之复习基础

热门文章

  1. 2018.4.24-ml笔记(多元线性回归)
  2. salesforce零基础学习(八十八)项目中的零碎知识点小总结(二)
  3. Eureka核心知识点
  4. 读vue-0.6-observer.js源码
  5. 各种实现js继承的方法总结
  6. [转]npm、 cnpm、yarn
  7. override与new的区别
  8. 解决SQL Server 2008安装时提示:重新启动计算机 失败
  9. EL表达式和JSTL的使用
  10. LVOOP设计模式在路上(二)-- 策略模式