并行口与串行口的区别是交换信息的方式不同,并行口能同时通过8条数据线传输信息,一次传输一个字节;而串行口只能用1条线传输一位数据,每次传输一个字节的一位。并行口由于同时传输更多的信息,速度明显高于串行口,但串行口可以用于比并行口更远距离的数据传输。
25针并行口插口的针脚功能:
针脚 功能 针脚 功能
1 选通 (STROBE低电平) 10 确认 (ACKNLG低电平)
2 数据位0 (DATAO) 11 忙 (BUSY)
3 数据位1 (DATA1) 12 却纸 (PE)
4 数据位2 (DATA2) 13 选择 (SLCT)
5 数据位3 (DATA3) 14 自动换行 (AUTOFEED低电平)
6 数据位4 (DATA4) 15 错误观点(ERROR低电平)
7 数据位5 (DATA5) 16 初始化成(INIT低电平)
8 数据位6 (DATA6) 17 选择输入 (SLCTIN低电平)
9 数据位7 (DATA7) 18-25 地线路(GND)
D0-D7为数据线, S0-S7为状态线, 但是S0,S1,S2是看不见的(从图中你也可以看出), 状态线是用来读取数据的, 但S0却不同, 它是超时标志位, 其他的状态线从第10-11-12-13-15针是用来发送数据的(可以看出是5位). 那么我们怎么能得到这些数据端口呢? 很简单: 每一个并口都有一个地址. 在Windows2000中, 你可以在打印机端口(LPT1)的属性中看到他们. 比如:我的是0378-037F, 如果是10进制, 那么就是888. 同样你也可以看到你的COM端口的地址. 让我以打印机为例解释一下这些针位的意义:
l S0: 在EPP(增强的串口)模式下, 如果超时的话, 这位置1.
l S1: 没用(估计是装饰).
l S2: 大多数情况下没有使用.
l S3: 如果打印机发生了错误则置0. 它通常被叫做nError或者nFault.
l S4: 如果数据达到, 则置1.我们通常叫做Select.
l S5: 如果没有打印纸了则置1.通常叫做PaperEnd或者PaperEmpty或者PError.
l S6: 如果打印机得到了一个字节的数据则此位置0, 通常叫做nAck或者nAcknowledge.
l S7: 如果打印机处于繁忙的状态则此位置0, 通常叫做Busy.
控制线:
这些线通常用来输出,但有时也可以用于输入. 他们占用C0-C7(如图), 但是在接口上C4, C5, C6, C7是不可见, 他们占用的端口地址是0x37A.
l C0: 这一针脚是保留的. 他发送命令去读取端口上的数据(D0-D7). 当计算机启动的时候,这一位被置1,通常叫做nStrobe.
l C1: 保留.通过他发送命令给打印机, 可以得到下一条打印线.(LF)
l C2: 重置打印机并且清空数据缓冲区.(nInitialize)
l C3: 保留.置高电平打开数据输入.启动计算机时置0.(nSelectIn)
地线:
从G0-G7的针是接地用的, 他们一般是用来完善电路的.
综上所述,在我的应用程序里使用数据线而不是具有保留位的控制线或者状态线作为数据传输。原因显而易见:我们可以发送任何数据到数据线上,比如00000000,这样8根针就没有任何电压(0伏特);当然也可以发送11111111(255),这样每根针都有+5伏特的电压。但是如果我们使用控制线,他有C0,C1和C3是保留,当我们发送0000000的时候,他却只能是0100,所以这样数据就不正确了。
信号
数据位
针脚
方向
-Strobe
¬C0
1
Output
+Data Bit 0
D0
2
Output
+Data Bit 1
D1
3
Output
+Data Bit 2
D2
4
Output
+Data Bit 3
D3
5
Output
+Data Bit 4
D4
6
Output
+Data Bit 5
D5
7
Output
+Data Bit 6
D6
8
Output
+Data Bit 7
D7
9
Output
-Acknowledge
S6
10
Input
+Busy
¬S7
11
Input
+Paper End
S5
12
Input
+Select In
S4
13
Input
-Auto Feed
¬C1
14
Output
-Error
S3
15
Input
-Initialize
C2
16
Output
-Select
¬C3
17
Output
Ground
-
18-25
Ground
串行口的典型代表是RS-232C及其兼容插口,有9针和25针两类。
25针串行口具有20mA电流环接口功能,用9、11、18、25针来实现。
其针脚功能如下:
针脚 功能 针脚 功能
1 未用
2 发出数据(TXD) 11 数据发送(一)
3 接受数据(RXD) 12-17 未用
4 请求发送(RTS) 18 数据接收(+)
5 清除发送(CTS) 19 未用
6 数据准备好(DSR) 20 数据终端准备好比(DTR)
7 信号地线路 (SG) 21 未用
8 载波检测 (DCD) 22 振铃指示精神 (RI)
9 发送返回(+) 23-24 未用
10 未用 25 接收返回(一)
9针串行口的针脚功能:
针脚 功能 针脚 功能
1 载波检测(DCD) 6 数据准备好(DSR)
2 接受数据(RXD) *7 请求发送(RTS)
3 发出数据(TXD) 8 清除发送(CTS)
*4 数据终端准备好(DTR) 9 振铃指示(RI)
5 信号地线(SG)