1 引言 在很多情况下,远程监控和工业自动化领域系统经常采用串并口通信编程,其中串行接口被广泛地应用于工程实践的长距离通信中。运用Windows 通信API 可以在Windows 环境下进行串口编程,不用对硬件直接进行操作,并通过VC、VB 和Delphi 等语言进行调用,大大方便了对数据的处理。本文对和串口通信相关的32 位 Windows API 函数进行了介绍,并给出了相应的程序实例。 2 Windows API 简介 Win32 API 作为 Microsoft 32 位平台(包括:Windows 9x,Windows NT3.1/4.0/5.0,WindowsCE)的应用程序编程接口,它是构筑所有 32 位 Windows 平台的基石,所有在Windows 平台上运行的应用程序都可以调用这些函数。API 是windows 的核心,从事Windows应用程序开发,离不开对Win32 API 函数的调用。只有充分理解和利用API 函数,才能深入到 Windows 的内部,充分挖掘系统提供的强大功能和灵活性。 3 Windows API 相关串口通信函数介绍 在32 位的Windows 系统中,串口通信是作为文件处理的,串口操作一般为的打开、关闭、读取、写入等操作,相应的Windows API 函数如下: 3.1 打开和关闭串口 1 打开串口 在Windows 系统中串口通信会话以调用CreateFile ( )函数开始。CreateFile ( )函数可以读写访问串口,并返回一个句柄,并在以后的端口操作中使用。 1. CreateFile ( )函数声明如下: 2. HANDLE CreateFile( 3. LPCTSTR lpszNAME, // 指定要打开的串口逻辑名 4. DWORD fdwAccess, // 指定串口访问的类型 5. DWORD fdwShareMode, // 指定端口的共享属性 6. LPSECURITY_ATTRIBUTES lpsa, // 引用安全属性结构SECURITY_ATTRIBUTES 7. DWORD fdwCreate, // 指定 CreateFile( )正在被已有的文件调用时应采取的措施 8. DWORD fdwAttrsAndFlags, // 描述端口的各种属性 9. HANDLE hTemolateFile // 指向模板文件的句柄 10. ) 11. 其中安全属性结构 SECURITY_ATTRIBUTES 结构声明如下: 12. typedef struct_SECURITY_ATTRIBUTES{ 13. DWORD nLength; // 指明该结构的长度 14. LPVOID lpSecurityDescriptor; // 指向一个安全描述字符 15. BOOL bInheritHandle; // 表明句柄是否能被继承 16. }SECURITY_ATTRIBUTES; 17. 调用CreateFile ( )函数打开 COM1 串口操作如下所示: 18. HANDLE hCOM; 19. DWORD DWeRROR; 20....