《嵌入式系统原理与应用》 |(十)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中断挂起位。

 

 

 

 

 

 

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

12 26 25

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值