请教个串口收、发数据的问题,同一个串口可以在接收数据的同时还可以发送数据吗?

aft_st_sd 2005-10-12 11:11:15
请教个串口收、发数据的问题,同一个串口可以在接收数据的同时还可以发送数据吗?
是这样的,假设我的串口正在接收一个比较大的文件,而在这个时候我又想发送数据出去,这样可以吗?
这样的话,等于是串口的另一端也是在边发送,边接收,请问可以这样吗?

...全文
1174 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovendII 2005-10-12
  • 打赏
  • 举报
回复
串口通讯—全双工和半双工方式

在串行通信中,数据通常是在两个站(如终端和微机)之间进行传送,按照数据流的方向可分成三种基本的传送方式:全双工、半双工、和单工。但单工目前已很少采用,下面仅介绍前两种方式。

1、全双工方式(full duplex)

当数据的发送和接收分流,分别由两根不同的传输线传送时,通信双方都能在同一时刻进行发送和接收操作,这样的传送方式就是全双工制,如图1所示。在全双工方式下,通信系统的每一端都设置了发送器和接收器,因此,能控制数据同时在两个方向上传送。全双工方式无需进行方向的切换,因此,没有切换操作所产生的时间延迟,这对那些不能有时间延误的交互式应用(例如远程监测和控制系统)十分有利。这种方式要求通讯双方均有发送器和接收器,同时,需要2根数据线传送数据信号。(可能还需要控制线和状态线,以及地线)。


比如,计算机主机用串行接口连接显示终端,而显示终端带有键盘。这样,一方面键盘上输入的字符送到主机内存;另一方面,主机内存的信息可以送到屏幕显示。通常,往键盘上打入1个字符以后,先不显示,计算机主机收到字符后,立即回送到终端,然后终端再把这个字符显示出来。这样,前一个字符的回送过程和后一个字符的输入过程是同时进行的,即工作于全双工方式。

2、半双式方式(half duplex)

若使用同一根传输线既作接收又作发送,虽然数据可以在两个方向上传送,但通信双方不能同时收发数据,这样的传送方式就是半双工制,如图2所示。采用半双工方式时,通信系统每一端的发送器和接收器,通过收/发开关转接到通信线上,进行方向的切换,因此,会产生时间延迟。收/发开关实际上是由软件控制的电子开关。


由上推断,如果可以全双工的话,应该可以在接收数据的同时,可以发送数据。
aft_st_sd 2005-10-12
  • 打赏
  • 举报
回复
200分都没人要啊?
Blakhawk 2005-10-12
  • 打赏
  • 举报
回复
一般都是单向传输就可以满足要求了。

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧