初始化后,在打印机工作正常的情况下即转入数据接收处理程序,打印机通常有联机(ONLINE)和脱机(OFFLINE)两种工作状态,只有在联机方式下打印机才能接收输入的数据。数据输入时,打印机检测并判别输入的数据,若为功能代码,则转入功能码处理程序;若为字符代码,则将其存入数据缓冲器。打印机在接收到数据后,同时发出当前打印机的状态信号,以便主机能及时正确地继续向打印机发送数据。
现在的打印机基本上都是采用微处理器作为控制单元的,主机把打印内容发送至打印机时,打印机可以有立刻接收、查询方式接收、中断方式接收三种方式接收数据。由于打印内容的数据量比较大,基本上是不采用立刻接收的方式的。
当打印机处于脱机方式时,控制程序始终检测开关状态,一直等到开关状态发生变化。
1.并行LPT口数据接收
(1)查询方式接收
查询方式接收数据的过程,参见如图6-5所示的流程。
(2)中断方式接收
打印内容数据的接收是通过向打印机的CPU发出中断请求后实行的。
1)门阵列接收到主机发送到打印机接口的信号后,将数据锁存起来(一般锁存在PA端口),然后向CPU发出Y信号要求中断;
2)CPU接收中断后,将CPUBUSY置为高电平,然后读门阵列里的数据;
3)CPU完成读数据后,将置为高电平、CPUBUSY置为低电平;
4)CPU将置为低电平。
2.串行COM口数据接收(www.xing528.com)
(1)DTR作联络信号
这是把DTR信号作为外部设备准备好的信息送到主机来实现的。
1)当打印机能接收数据时,DTR信号被置位为SPACE。
2)当打印机处于错误状态或输入缓冲器的空间区域达到或小于256字节时,DTR信号被置位为MARK,完成与主机的联络。
(2)XON/XOFF约定
这种信息交换是通过把XON(ASCⅡ代码DC1或十六进制数11h)或XOFF(ASCⅡ代码DC3或十六进制数13h)信号,经过TxD信号线送到主机来实现的。
1)当打印机可以接收数据时,打印机发出一个XON代码给主机。
2)当打印机处于错误状态或输入缓冲器的空间区域达到或小于256字节时,打印机发出一个XOFF代码给主机。
(3)ETX/ACK约定
数据块作为一页发送,页的定义为开始位ETX代码和结束位ACK代码。接收时要把这两个代码忽略掉。
图6-5 查询方式数据接收流程
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。