《嵌入式系统原理与应用》 |(十)UAPT 知识梳理

 

系列索引:《嵌入式系统原理与应用》 | 嵌入式系统 重点知识梳理


 

目录

 

数据通信的基本概念(串行与并行、单工、双工、半双工、同步与异步)

 

UART的物理接口及互联方式

UART的数据格式及传输速率(传输时间的计算)

STM32 USART的特性*

USART使用DMA发送及接收数据的流程

 

USART相关库函数(初始化结构体变量的设置、发送与接收数据、中断相关)


数据通信的基本概念(串行与并行、单工、双工、半双工、同步与异步)

UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)

 

 

UART的物理接口及互联方式

UART接口

TxD用于发送数据;

RxD用于接收数据;

GND是地线:

互联方式

 

 

UART的数据格式及传输速率(传输时间的计算)

UART数据格式

UART传输方式为异步全双工,数据线有两根,一根发送,一根接收,以数据帧方式传输。

 

UART传输速率

根据约定的传输速率和所要传输的数据大小,可以得出通过UART发送完全部数据所需的时间。

例题:

假设STM32F03微控制器的USART1设置为38.4kbps,7位数据位,1位偶校验位,2位停止位,发送一个大小位1KB的文件,需要多少时间?

 

  • 首先计算需要传输的帧数:

(1024*8)/7=1171次   //1kb = 1024*8二进制位 ,一帧7个数据位,则(1024*8)/7向上取整

1171*((1+7+1+2)/(1000*38.4))=0.335s // 1+7+1+2:7位数据位,1位偶校验位,2位停止位,另加一个起始位

 

STM32 USART的特性*

 STM32F103系列微控制器中的UART模块被称为——USART

在具备UART异步全双工串行通信传输基本功能的同时,还具有同步单向通信的功能。

 

USART使用DMA发送及接收数据的流程

USART可以利用DMA实现连续通信。Rx缓冲器和Tx缓冲器的DMA请求是分别产生的。

利用DMA发送

可以通过设置USART_CR3寄存器上的DMAT位激活。当TXE位被置为’1’时,DMA就从指定的SRAM区传送数据到USART_DR寄存器。为USART的发送分配一个DMA

利用DMA接收

可以通过设置USART_CR3寄存器的DMAR位激活使用DMA进行接收,每次接收到一个字节,DMA控制器就就把数据从USART_DR寄存器传送到指定的SRAM区。

 

 

USART相关库函数(初始化结构体变量的设置、发送与接收数据、中断相关)

USART_DeInit:将USARTx的寄存器恢复为复位启动时的默认值。

USART_Init:根据USART_InitStruct中指定的参数初始化指定USART的寄存器。

USART_Cmd:使能或禁止指定USART。

USART_SendData:通过USART发送单个数据。

USART_ReceiveData:返回指定USART最近接收到的数据。

USART_GetFlagStatus:查询指定USART的标志位状态。

USART_ClearFlag:清除指定USART的标志位。

USART_ITConfig:使能或禁止指定的USART中断。

USART_GetITStatus:查询指定的USART中断是否发生。

USART_ClearITPendingBit:清除指定的USART中断挂起位。

 

 

 

 

 

 

发布了112 篇原创文章 · 获赞 975 · 访问量 22万+

猜你喜欢

转载自blog.csdn.net/qq_41523096/article/details/103790001