单片机第一季:零基础10——串口通信和RS485

本文详细介绍了串口通讯的基础知识,包括同步和异步通信、并行和串行、单工、半双工与全双工的区别,以及通信速率。接着,重点讲述了单片机中的串口通信,包括接口标准如RS-232C,通信协议,以及串口初始化和波特率计算。此外,还涵盖了串口相关的寄存器和硬件设计,以及串口调试和RS485的简介。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1,串口通讯基础

1.1,同步和异步

1.2,并行和串行 

1.3,单工、半双工与全双工通信 

1.4,通信速率 

2,单片机串口通讯

2.1,接口标准 

2.2,通讯协议 

2.3,串口内部结构 

3,串口相关寄存器 

4,波特率计算 

5,串口初始化 

6,开发板硬件设计 

7,串口发送和接收程序

8,串口调试总结

9,RS485 



1,串口通讯基础

什么是通信:
(1)人和人之间的通信:说话、写信、狼烟、手势等;
(2)人和计算机之间的通信:按键、显示器、鼠标、触摸屏等;
(3)计算机和计算机之间的通信;

通信的关键:
(1)事先约定;
(2)基本信息单元;
(3)有效信息的编码、传输和解码 ;

通信的专业性概念:
(1)同步和异步;
(2)单工、半双工、全双工;
(3)并行和串行;
(4)电平信号和差分信号 ;

1.1,同步和异步

异步通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送和接收设备的时钟尽可能一致。
异步通信是以字符(构成的帧)为单位进行传输,字符与字符之间的间隙(时间间隔)是任意的,但每个字符中的各位是以固定的时间传送的,即字符之间不一定有“位间隔”的整数倍的关系,但同一字符内的各位之间的距离均为“ 位间隔”的整数倍。如下图所示:

异步通信的特点:不要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个字符要附加2~3 位用于起止位,各帧之间还有间隔,因此传输效率不高。 

同步通信时要建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步。此时,传输数据的位之间的距离均为“位间隔”的整数倍,同时传送的字符间不留间隙,即保持位同步关系,也保持字符同步关系。发送方对接收方的同步可以通过两种方法实现。如下图所示: 

1.2,并行和串行 

串行通讯:

串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。如下图所示: 

串行通信的特点:传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行通信复杂。 

并行通讯: 

并行通信通常是将数据字节的各位用多条数据线同时进行传送,通常是8位、16 位、32 位等数据一起传输。如下图所示: 

并行通信的特点:控制简单、传输速度快;由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难,抗干扰能力差。

串口通信基础:
(1)一种特定的通信协议;
(2)也叫串行通信、串口通信、UART、USART;
(3)异步、串行、全双工;

1.3,单工、半双工与全双工通信 

单工是指数据传输仅能沿一个方向,不能实现反向传输。如下图所示: 

半双工是指数据传输可以沿两个方向,但需要分时进行。如下图所示: 

全双工是指数据可以同时进行双向传输。如下图所示: 

串行通信的主要用途:
(1)早期:计算机之间短距离通信(15米),完备通信机制
(2)现在:CPU之间近距离通信、调试信息输入输出,非完备通信 

串行通信的工作方式:
(1)3根线(GND、RxD、TxD)或者9根线;
(2)发送方有发送移位寄存器,接收方有接收移位寄存器;
(3)数据在发送方和接收方的CPU中都以字节为单位整字节处理;
(4)数据在通信线上以位为单位逐个bit的传输; 

串行通信的主要概念:
(1)起始位、数据位、奇偶校验位、停止位(帧),一帧数据里各位的定义,例如数据位有几位;
(2)波特率:一秒钟传输多少个bit位,发送方和接收方必须波特率设置为一样,例如9600代表1秒钟发送了9600各bit位;
(3)流控:速率协商,现在一般都要禁用掉 ;

串口调试助手的串口设置里有对应的波特率,数据位长度,停止位长度的选择,RTS和DTR代表表速率协商的流控选择,不勾选。 

1.4,通信速率 

衡量通信性能的一个非常重要的参数就是通信速率,通常以比特率(Bitrate)来表示。比特率是每秒钟传输二进制代码的位数,单位是:位/秒( bps)。如每秒钟传送240 个字符,而每个字符格式包含10 位(1 个起始位、1 个停止位、8 个数据位),这时的比特率为:10 位×240 个/秒= 2400 bps 。

在后面会遇到一个“波特率”的概念&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值