mfc 实现串口通信
本文详细介绍了串行通信的基本原理,以及在 Windows NT、Win98 环境下用 MFC 实现串口(COM)通信的方法:使用 ActiveX 控件或 Win API。并给出用 Visual C++6.0 编写的相应 MFC32 位应用程序。
一、串行通信的基本原理
串行通信是计算机和外围设备之间的一种常用的通信方式。串行端口的本质功能是作为 CPU 和串行设备间的编码转换器。当数据从 CPU 经过串行端口发送出去时,字节数据转换为串行的位。在接收数据时,串行的位被转换为字节数据。在 Windows 环境(Windows NT、Win98、Windows2000)下,串口是系统资源的一部分。应用程序要使用串口进行通信,必须在使用之前向操作系统提出资源申请要求(打开串口),通信完成后必须释放资源(关闭串口)。
二、串口信号线的接法
一个完整的 RS-232C 接口有 22 根线,采用标准的 25 芯插头座(或者 9 芯插头座)。25 芯和 9 芯的主要信号线相同。主要信号线定义:发送数据 TXD;接收数据 RXD;请求发送 RTS;清除发送 CTS;数据设备就绪 DSR;数据终端就绪 DTR;数据载波检测 DCD;保护地;信号地。电气特性:数据传输速率最大可到 20K bps,最大距离仅 15m。
三、16 位串口应用程序的简单回顾
16 位串口应用程序中,使用的 16 位的 Windows API 通信函数:OpenComm() 打开串口资源,并指定输入、输出缓冲区的大小(以字节计);CloseComm() 关闭串口;BuildCommDCB() 、setCommState() 填写设备控制块 DCB,然后对已打开的串口进行参数配置;ReadComm 、WriteComm() 对串口进行读写操作,即数据的接收和发送。
四、在 MFC 下的 32 位串口应用程序
使用 MFC 实现串口编程,需要使用 ActiveX 控件或 Win API。在 Windows NT、Win98 环境下,可以使用 MFC 实现串口通信。可以使用 Visual C++6.0 编写相应的 MFC32 位应用程序。
五、知识点总结
* 串行通信的基本原理:串行端口的本质功能是作为 CPU 和串行设备间的编码转换器。
* 串口信号线的接法:一个完整的 RS-232C 接口有 22 根线,采用标准的 25 芯插头座(或者 9 芯插头座)。
* 16 位串口应用程序的简单回顾:使用 16 位的 Windows API 通信函数,包括 OpenComm()、CloseComm()、BuildCommDCB()、setCommState()、ReadComm 和 WriteComm().
* 在 MFC 下的 32 位串口应用程序:使用 MFC 实现串口编程,需要使用 ActiveX 控件或 Win API。
本文通过详细介绍串行通信的基本原理、串口信号线的接法、16 位串口应用程序的简单回顾和在 MFC 下的 32 位串口应用程序,旨在帮助读者更好地理解串口通信的实现原理和方法。