STM32(10):USART

本文详细介绍了STM32的USART模块,包括USART的同步/异步模式,初始化过程,如GPIO配置、波特率设定、硬件流控等,并探讨了同步通信与异步通信的区别。通过代码实例展示了如何进行USART初始化,使能中断和NVIC配置,以及中断处理函数的实现。

概述

今天研究一下USART模块,USART模块最常用的功能之一就是输出log,下面就研究一下利用USART模块来输出log的实验代码。

USART,Universal Synchronous/Asynchronous Receiver/Transmitter,通用同步/异步接收/发送器;通过名字可以看出来,USART模块支持同步和异步模式,支持接收和发送操作。

那么什么是同步/异步呢?

同步通信:是指通信双方共享一个时钟节拍,一般情况需要发送方向接收方发送数据同时还要提供时钟;接收方根据发送方提供的时钟的节拍来安排接收节奏;比如SPI,IIC都是同步通信;适用于通信网络有大量数据需要传输的场景;

异步通信:双方可以按照自己的时钟节拍来进行数据的发送和接收;一般需要发送方首先发送消息通知接收方准备接受,接收方接收到之后,就会认为该消息之后的消息就是正式的数据,这个和网络传输比较类似;UART,RS485,CAN都是异步通信。适用于短距离,速率要求不高的场景;

同步通信效率高,但是通信实现复杂,双方时钟误差只允许很小;异步通信实现简单,允许双方有一定的误差。

如下图所示,可以看到异步通信,发送器和接收器有自己独立的时钟(频率/节拍),然后是通过沿边信息来判断数据的开始和停止;

而同步通信两端共享一个时钟,在数据规则上是通过找周期/节拍开控制开始和结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

张叫兽的技术研究院

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

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

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

打赏作者

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

抵扣说明:

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

余额充值