《STM32应用开发实践》课件第8章 STM32串口USAR及其应用.pptx

《STM32应用开发实践》课件第8章 STM32串口USAR及其应用.pptx

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

;;;;;8.2串行通信基础

单片机与外设通信的基本方式

1)并行通信:

原理:数据的各个位同时传输

优点:效率高,速度快

缺点:占用引脚资源多

多用于芯片内部

2)串行通信:

原理:数据一位一位按顺序传输

优点:占用引脚资源少

缺点:效率低,速度慢

多用于芯片间及数字设备之间

串行通信的种类的应用越来越广;8.2串行通信基础

串行通信种类

UART(通用异步收发器)

UniversalAsynchronousReceiverandTransmitter

USART(通用同步/异步收发器)

UniversalSynchronousAsynchronousReceiverandTransmitter

SPI(串行外设接口)

SerialPeripheralInterface

I2C(IIC,集成电路接口总线)

Inter-IntegratedCircuit

I2S(IIS,集成电路音频总线)

Inter-ICSound

USB(通用串行总线)

UniversalSerialBus

其他……

;8.2串行通信基础

串行通信工作方式

1)单工

数据传输只能在一个方向上实现,即单向传输

2)半双工

允许数据在两个方向上传输,但是不能同时实现,即在某一时刻,只允许一个方向传输

实际上是一种切换方向的单工通信

3)全双工

允许数据同时在两个方向上传输,相当于两个单工通信方式的结合

要求双方都有独立的接收和发送能力

;8.2串行通信基础

异步与同步

异步通信

双方按约定速率(频率)工作,不能保证双方“步调一致”

节省引脚资源,简单易用

易产生时序误差,速度较低

传统串口(UART)、单总线等属于异步通信

同步通信

工作时,通过时钟信号保证双方步调一致(同步)

除了数据线,多了一根时钟线

时序精准,能够实现更高速度

SPI、IIC等属于同步通信;8.2串行通信基础

常见串行通信的工作方式;8.2串行通信基础

STM32F401的串口通信

STM32系列支持两种类型的串口:

UART:通用异步收发器

USART:通用同步/异步收发器

STM32F4xx系列最多可支持8个串口,但STM32F401只实现了3个:

USART1、USART2、USART6

USART引脚

RXD(或RX):数据输入(接收)

TXD(或TX):数据输出(发送)

CTS:清除发送

RTS:请求发送

SCLK(或CLK/CK):同步时钟信号

USART三种工作模式:

;8.2串行通信基础

通用异步收发器

UART引脚连接方法:

只需3个引脚:RXD、TXD、GND

信号线交叉连接

;8.2串行通信基??

通用异步收发器

RS232连接器

PC机串口与外部连接时都是RS232电平,采用DB9针式连接器(俗称DB9公头)

另外,还有一种DB9孔式连接器(俗称DB9母头),也可用于RS232串口

针式接头和孔式连接器可以直接对接,也可以使用直通线连接。而针式与针式、孔式与孔式,则必须使用交叉线连接

建议开发板采用与PC相同的DB9针式接头,使板与板、板与PC连接方法相同,只需配制一根交叉线即可(两头均为孔式);8.2串行通信基础

通用异步收发器

串口通信过程

;8.2串行通信基础

通用异步收发器

数据格式

要实现通信,收发双方不仅要约定速率,还要约定具体的数据格式,包括:

一个数据多少位——字长

谁打头谁断后——发送顺序

如何表示开始——起始位

如何表示结束——停止位

是否需要核对——校验位;8.2串行通信基础

通用异步收发器

数据帧的概念:从起始位、数据到停止位的整个传输周期称为一“帧”

1帧=起始位+数据位(8或9位)+停止位

USART传输时是以“帧”为单位的

每一位的发送/接收是由串口的内部时钟来控制的;8.2串行通信基础

通用异步收发器

波特率(BaudRate)

波特率指单位时间传送的二进制位数(即1秒钟发送或接收多少位,单位是bit/s或bps),也称“码速”

波特率是串口通信的重要指标,代表了数据传输的速度。接收器和发送器使用相同的波特率

由于历史的原因,形成了一些特定的波特率(bit/s):

1200、2400、4800

9600、19200、38400、57600

115200、……

随着技术的发展,波特率早已超出上述特定值,越来越高(如STM32F401最高可达10.5Mbit/s),但传统还是要遵守的

波特率由系统时钟分频得到,通过配置相关的寄存器来实现

;8.2串行通信基础

通用异步收发器

UART使用前需要定义的参数

①起始位(默认1位)

②数据位(8位或9位)

③奇偶校验位(第9位)

④停止位(0.5、1、1.5、2位)

⑤波特率

⑥硬件流控制(一般不用)

以上参数只是UART初

您可能关注的文档

文档评论(0)

酱酱 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档