PC机的异步串行通信编程方法内容包括DOS、WINDOWS和BIOS级PC通信、基于异步通信与器的系统的PC通信以及通信编程方法。
PC机一般常有两个异步串行端口,分别称作COM1和COM2,它们都符合RS-232C标准。在DOS操作系统中,COM1、COM2被作为I/O设备进行管理,COM1、COM2便是它们的逻辑设备名。据此,DOS便可通过对COM1、COM2操作实现异步串行通信。DOS的MODE命令可用以设置异步串行端口的参数,DOS的COPY命令允许将异步串行端口作为一个特殊的"文件",进行数据传输。下面举一个利用DOS的MODE、COPY命令,进行双机键盘输入字符传输的例子。 MODE命令的格式如下:
MODE 端口名:速率,校验方式,数据位数,停止位位数
其中端口名为COM1或COM2;传输速率可选110、150、300、600、1200、2400、4800或9600bps;校验方式为E(偶校验)、(奇校验)或N(无校验);数据位数为7或8位;停止位位数为1或2位。通信双方设置的参数应一致,如双方都打入如下命令:MODE COM1:1200,E,7,1则表示双方以COM1为异步通信端口以1200bps、偶校、7位数据位、1位停止位的设置参数进行通信。DOS中有一标准控制台COM,实际上作输入时COM即键盘,作输出时COM即显示器。
准备发送的PC机执行如下命令:COPY CON:COOM1:表示将从键盘收到的信息通过COM1串行口发送。
准备接收的PC机执行如下命令:COPY COM1:CON:则表示将接收来自COM1串行口信息,并在显示器上显示。
两台PC机分别执行完上述命令后,在发送方键盘上输入的字符便会在接收方显示器上显示出来。上面介绍的是用DOS的MODE、COPPPY命令实现的最简单的PC通信。在MS-DOS的高版本中(例如MS-DOS V6。0)还提供了一条命令,叫作INTERLNK,实际上它是一个通信程序。使用INTERLNK命令和一根连接两台PC机串行端口的电缆,可以使一台PC机从另一台PC机的磁盘驱动器中存取数据并运行程序,无需再使用软盘去拷贝文件。用以键入命令的PC机叫客户机(Client),与客户机相连的PC机叫服务器(Server)。客户机使用服务器的驱动器和打印机,服务器显示两台PC 机的连机状态。
当两台PC机被INTERLNK连接以后,服务器上的驱动器便以扩驱动器的形式映象到客户机上,若两台PC机原来均有A、B、C三个驱动器,则连接后客户机除了自身的三个驱动器外,又多了E、F、G(服务器驱动器映象)三个扩展驱动器,客户机可以象使用自己的驱动器一样使用这些扩展驱动器。使用INTERLNK时,每台PC机上至少要有一个空闲的串行口,还要一根3号线或7号线的零调制解调器(Null MODEM)串行电缆线,客户机上至少有16K空闲内存,服务器上至少有130K空闲内存。
在客户机的CONFIG系统配置文件。SYS中添加如下命令:devive=c:\dos\interlnk。exe/drives:5
再重新启动客户机,便可装入INTERLNK。这里假设interlnk。exe存于客户机C驱动器的DOS子目录中,/drives:5参数用于映象5个服务器驱动器,缺省情况下为3个驱动器。服务器上启动INTERLNK不需要其CONFIG。SYS作任何改动,只需在DOS命令提示符下键入intersvr即可。此时,屏幕底部出现一行状态信息,显示INTERLNK的连接状态。
Microsoft Windows的应用程序Terminal允许用户PC机与其它计算机连接并交换数据,也可仿真为将与之交换数据的远程计算机所要求的终端类型。下面给出一台PC机应用WINDOWS的Terminal从具有连机服务的远程系统读取文件的通信过程。
打开终端--使用设置(Settings)菜单设置参数--查阅文件--使用传输(Transfers)菜单接收一个文件--与远程计算机脱机--使用phone菜单挂起调制解调器--使用文件(File)菜单存储文件--退出终端
在PC机的基本输入输出系统(BIOS)中的中断14H提供了异步串行端口的服务功能,通过INT 14H提供的四种功能,可访问串行通信端口,实现连机通信。INT 14H的串行口功能为。