D0D1D2D3 D4D5D6D7..L-1---1停止位停止位4起始位数据位奇偶位图8-1串行异步收发(UART)通信的数据格式
图8-1 串行异步收发(UART)通信的数据格式
8.1.2连接握手通信顿的起始位可以引起接收方的注意,但发送方并不知道,也不能确认接收方是否已经做好了接收数据的准备。利用连接握手可以使收发双方确认已经建立了连接关系,接收方已经做好准备,可以进入数据收发状态。连接握手过程是指发送者在发送一个数据块之前使用一个特定的握手信号来引起接收者的注意,表明要发送数据,接收者则通过握手信号回应发送者,说明它已经做好了接收数据的准备。连接握手可以通过软件,也可以通过硬件来实现。在软件连接握手中,发送者通过发送一个字节表明它想要发送数据。接收者看到这个字节的时候,也发送一个编码来声明自已可以接收数据,当发送者看到这个信息时,便知道它可以发送数据了。接收者还可以通过另一个编码来告诉发送者停正发送
通信帧的起始位可以引起接收方的注意,但发送方并不 知道,也不能确认接收方是否已经做好了接收数据的准备。 利用连接握手可以使收发双方确认已经建立了连接关系,接 收方已经做好准备,可以进入数据收发状态。 连接握手过程是指发送者在发送一个数据块之前使用一 个特定的握手信号来引起接收者的注意,表明要发送数据, 接收者则通过握手信号回应发送者,说明它已经做好了接收 数据的准备。 连接握手可以通过软件,也可以通过硬件来实现。在软 件连接握手中,发送者通过发送一个字节表明它想要发送数 据。接收者看到这个字节的时候,也发送一个编码来声明自 己可以接收数据,当发送者看到这个信息时,便知道它可以 发送数据了。接收者还可以通过另一个编码来告诉发送者停 止发送。 8.1.2 连接握手
8.1.3 确认接收者为表明数据已经收到而向发送者回复信息的过程称为确认。有的传输过程可能会收到报文而不需要向相关节点回复确认信息。但是在许多情况下,需要通过确认告知发送者数据已经收到。有的发送者需要根据是否收到确认信息来采取相应的措施,因而确认对某些通信过程是必需的和有用的。即便接收者没有其他信息要告诉发送者,也要为此单独发一个确认数据已经收到的信息。确认报文可以是一个特别定义过的字节,例如一个标识接收者的数值。发送者收到确认报文就可以认为数据传输过程正常结束。如果发送者没有收到所希望回复的确认报文,它就认为通信出现问题,然后将采取重发或者其他行动
接收者为表明数据已经收到而向发送者回复信息的过程 称为确认。有的传输过程可能会收到报文而不需要向相关节 点回复确认信息。但是在许多情况下,需要通过确认告知发 送者数据已经收到。有的发送者需要根据是否收到确认信息 来采取相应的措施,因而确认对某些通信过程是必需的和有 用的。即便接收者没有其他信息要告诉发送者,也要为此单 独发一个确认数据已经收到的信息。 确认报文可以是一个特别定义过的字节,例如一个标识 接收者的数值。发送者收到确认报文就可以认为数据传输过 程正常结束。如果发送者没有收到所希望回复的确认报文, 它就认为通信出现了问题,然后将采取重发或者其他行动。 8.1.3 确认
8.1.4 中断中断是一个信号,它通知CPU有需要立即响应的任务。每个中断请求对应一个连接到中断源和中断控制器的信号。通过自动检测端口事件发现中断并转入中断处理许多串行端口采用硬件中断。在串口发生硬件中断,或者一个软件缓存的计数器到达一个触发值时,表明某个事件已经发生,需要执行相应的中断响应程序,并对该事件做出及时的反应。这种过程也称为事件驱动
中断是一个信号,它通知CPU有需要立即响应的任务。 每个中断请求对应一个连接到中断源和中断控制器的信号。 通过自动检测端口事件发现中断并转入中断处理。 许多串行端口采用硬件中断。在串口发生硬件中断,或 者一个软件缓存的计数器到达一个触发值时,表明某个事件 已经发生,需要执行相应的中断响应程序,并对该事件做出 及时的反应。这种过程也称为事件驱动。 8.1.4 中断
8.1.5 轮询通过周期性地获取特征或信号来读取数据或发现是否有事件发生的工作过程称为轮询。它需要足够频繁地轮询端口,以便不遗失任何数据或者事件。轮询的频率取决于对事件快速反应的需求以及缓存区的大小。轮询通常用于计算机与I/O端口之间较短数据或字符组的传输。由于轮询端口不需要硬件中断,因此可以在一个没有分配中断的端口运行此类程序。很多轮询使用系统计时器来确定周期性读取端口的操作时间
通过周期性地获取特征或信号来读取数据或发现是否有 事件发生的工作过程称为轮询。它需要足够频繁地轮询端口 ,以便不遗失任何数据或者事件。轮询的频率取决于对事件 快速反应的需求以及缓存区的大小。 轮询通常用于计算机与I/O端口之间较短数据或字符组 的传输。由于轮询端口不需要硬件中断,因此可以在一个没 有分配中断的端口运行此类程序。很多轮询使用系统计时器 来确定周期性读取端口的操作时间。 8.1.5 轮询