前言
本篇文章给大家介绍一下串口的基础编程知识,这些知识是属于串口的理论知识,在开始学习编写代码的时候必须要掌握这些基本的知识点。
一、串行通信和并行通信
串行通信和并行通信是两种不同的数据传输方式。
串行通信是指在一条单独的通信线路上,通过一个位一个位地传输数据,每个位依次传输,数据帧的每个位之间有一定的延时,数据被逐位发送或接收。串行通信一般使用较少的连接线路,但速度较慢,适合长距离的数据传输,例如串口通信、SPI、I2C等。
并行通信则是指同时在多条通信线路上传输多个位的数据,数据帧的每个位同时传输,数据可以一次性发送或接收。并行通信通常使用较多的线路,但传输速度比串行通信更快,适合短距离、高速数据传输,例如计算机内部的数据总线。
串行通信的优点:
可以通过较少的连接线路进行长距离的数据传输;
数据传输稳定,不容易出现干扰;
适用于低速数据传输,例如串口通信、SPI、I2C等通信协议。
串行通信的缺点:
传输速度较慢,无法满足高速数据传输的需求;
数据传输时间长,会影响实时性;
传输时资源利用率较低。
并行通信的优点:
可以通过多条连接线路同时传输多个位的数据,传输速度快,满足高速数据传输的需求;
数据传输时间短,有利于实时性要求高的应用场景;
传输时资源利用率较高。
并行通信的缺点:
需要较多的连接线路;
由于同步和干扰等问题,数据传输不够稳定;
适用于短距离的数据传输,扩展性差。
二、全双工,半双工,单工传输
全双工、半双工和单工是用于描述数据通信过程中的传输模式。这些模式在数据传输速度、带宽利用率、传输方向的选择和设备数量和成本等方面都有不同的限制和影响。
全双工传输模式:在全双工传输模式中,数据可以在通信双方之间同时传输,双方都可以发送和接收数据。当一方发送数据时,另一方同步地接收数据。全双工可以提供高速数据传输和高资源利用率。例如,电话和网络视频通信就使用了全双工模式。
半双工传输模式:在半双工传输模式中,通信双方在同一通信通道上交替地发送和接收数据。当一方发送数据时,另一方必须等待该数据发送完成后才能开始发送数据。这种传输模式适用于设备之间的低速短距离通信和碰撞避免的数据通信环境。例如,对讲机和传统的以太网通信就使用了半双工模式。
单工传输模式:在单工传输模式中,数据只能单向传输,只能由一方发送,而另一方只能接收数据。这种传输模式适用于数据流向单向的情况,例如无线电和广播通信。
三、同步通信和异步通信
同步通信和异步通信是用于描述设备之间数据传输时的两种基本通信模式,它们在通信数据的协同方式、数据传输速度、复杂度和适用范围等方面有很大区别。
同步通信:同步通信是指通信的发送和接收方需要在传输数据时,按照一个协议定时进行数据交换,以保证数据帧的同步传输。通信的双方通过同步信号进行协调,要求通讯双方的时钟频率和数据传输速率必须准确一致,以保证数据传输的正确性和精度。同步通信协议适用于高速数据传输,例如多媒体数据的传输、高速网卡以太网通信等。
异步通信:异步通信是指通信的双方不需要按照时间协议进行数据同步交换,通信的两方逐个数据的传输通过起始位、数据位、校验位和停止位的组合进行数据识别和帧同步,非常适用于短消息、电子邮件、串口通信等异步数据交换需求。数据在发送或接收后,无需确认后才能开始再次发送或接收数据。
四、波特率
波特率是指数据通信设备在数据传输中的数据传输速率,一般表示成以比特每秒(bps)为单位的数据的传输速度。
波特率是衡量通信速率的重要指标,通常和数据位数、停止位数、校验位等其他参数一起描述数据传输的特征。不同的波特率对应不同的进行数据传输时的时钟周期,不同的传输速率会对数据传输距离、数据精度和数据传输出错率等方面产生影响。如果发送方和接收方的波特率不一致,可能会导致数据传输错误。
在选择波特率时,需要考虑通信协议、数据长度、传输距离和时钟精度等多方面的因素。波特率的选择应该能够在充分保证数据传输准确性的同时,尽可能地提高数据传输的速率,以满足设备之间通信的要求。
常见的波特率有1200bps、2400bps、4800bps、9600bps、19200bps、38400bps等,在不同的应用场景和数据传输需求中选择合适的波特率,以达到最优的数据传输效果。
当把波特率设置为115200bps时,每秒可以传输的数据量是11520字节,计算步骤如下图:
总结
本篇文章讲解了串口的基本概念知识,大家在学习编写代码时将其掌握才能更好的理解代码。