串口通信Window s 程序设计 一. 工作环境 硬件连接好的串口设备(虚拟串口软件VSPM),Visual Studio 2008 二. 基本知识 1
串口通信 串行口通信,IDE,USB,RS232,主要讲RS232 接口,理论传输距离可以达到50m,实际应用只有15m 左右,传输速度较慢,波特率115200bps时,速度才有14KB/S 2
串口通信传输方式 a) 异步传输:异步传输将比特分成小组进行传送,小组可以是8 位的1 个字符或更长
发送方可以在任何时刻发送这些比特组,而接收方从不知道它们会在什么时候到达
双机通讯需要设定开始位,数据位,校验位,停止位,双机不需要同步时钟,速率慢
b) 同步传输:数据以帧的形式发送,双机时钟必须同步,否则会出现传输错误,速度比异步传输快
三. Window s 串口程序设计基础 在 Win32 下,可以使用两种编程方式实现串口通信,其一是使用ActiveX 控件,这种方法程序简单,但欠灵活
其二是调用Window s 的API 函数,这种方法可以清楚地掌握串口通信的机制,并且自由灵活
我们只介绍 API 串口通信部分
同步操作时,API 函数会阻塞直到操作完成以后才能返回(在多线程方式中,虽然不会阻塞主线程,但是仍然会阻塞监听线程);而异步操作方式,API 函数会立即返回,操作在后台进行,避免线程的阻塞
无论那种操作方式,一般都通过四个步骤来完成: 1
打开串口 2
配置串口 3
读写串口 4
关闭串口 (1 ) 打开串口 HANDLE CreateFile( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDi