-
UART
RS232
的
CTS
与
RTS
目前较
为常用的串口有
9
针串口
(
DB9
)
和
25
针串口
(
DB25
)<
/p>
,
通信距离较近时
(<12m)
,
可以用电缆线直接连接标准
RS232
端口
(RS422,RS485
较远
)
,
若距离较远,
需附
加调制解调
器(
MODEM
)
。最为简单且常用的是三线制接法,即地、接收数据和发送数据三脚相连,
本文只涉及到最为基本的接法,且直接用
RS232
相连。<
/p>
9
和
DB25
的常用信号脚说明
9
针串口(
DB9
)
25
针串口(
DB25
)
针号
功能说明
缩写
针号
功能说明
缩写
1
数据载波检测
DCD 8
数据载波检测
DCD
2
接收数据
RXD 3
接收数据
RXD
3
发送数据
TXD 2
发送数据
TXD
4
数据终端准备
DTR 20
数据终端准备
DTR
5
信号地
GND 7
信号地
GND
6
数据设备准备好
DSR 6
数据准备好
DSR
7
请求发送
RTS 4
请求发送
RTS
8
清除发送
CTS 5
清除发送
CTS
9
振铃指示
DELL 22
振铃指示
DELL
强烈建
议不要带电插拨串口,插拨时至少有一端是断电的,否则串口易损坏。
我们在串行通讯处理中,
常常看到<
/p>
RTS/CTS
和
XON/XOFF
p>
这两个选项,
这就是两个流控制
的选项,目
前流控制主要应用于调制解调器的数据通讯中,但对普通
RS232
编程,了解一
点这方面的知识是有好处的。
那么,
流控制在串行通讯中有何作用,
在编制串行通讯程序怎
< br>样应用呢?这里我们就来谈谈这个问题。
1.
流控制在串行通讯中的作用
p>
这里讲到的
“
流
”
,当然指的是数据流。数据在两个串口之间传输时,常常会出现丢失数据的
现象,
或者两台计算机的处理速度不同,
如台式机与
单片机之间的通讯,
接收端数据缓冲区
已满,
< br>则此时继续发送来的数据就会丢失。
现在我们在网络上通过
MODEM
进行数据传输,
这个问题就尤为突出。流控制能解
决这个问题,当接收端数据处理不过来时,就发出
“
不再
接收
”
的信号,发送端就停止发送,直到收到
“
可以继续发送
”
的信号再发送数据。因此流控
制可以控制数据传输的进程,
防止数据的丢失。
PC
机中常用的两
种流控制是硬件流控制
(包
括
RTS/
CTS
、
DTR/CTS
等)和软件流
控制
XON/XOFF
(继续
/
停止)
,下面分别说明。
2.
硬件流控制
硬件流控制常用的有
RTS/CTS
流控制和
DTR/DSR
(数据终端就绪
/
< br>数据设置就绪)流控制。
硬件流控制必须将相应的电缆
线连上,用
RTS/CTS
(请求发送
/
清除发送)流控制时,应将
通讯两端的
RTS
、
CTS
线对应相连,数据终
端设备(如计算机)使用
RTS
来起始调制解调
器或其它数据通讯设备的数据流,而数据通讯设备(如调制解调器)则用
CTS
来起动和暂
停来自计算机的数据流。
这
种硬件握手方式的过程为:
我们在编程时根据接收端缓冲区大小
设置一个高位标志(可为缓冲区大小的
75
%)和一个低位标志
(可为缓冲区大小的
25
%)
,
当缓冲区内数据量达到高位时,我们在接收端将
CTS
线置低电平(送逻辑
0
)
,当
发送端的
程序检测到
CTS
为低后,就
停止发送数据,直到接收端缓冲区的数据量低于低位而将
CTS
-
-
-
-
-
-
-
-
-
上一篇:《语文花开》1,2,3,4,5,6,7,8,11课答案
下一篇:宋词二首练习