1.什么串口??

数据按位传输的通信接口,我们都成为串口--USART UART SPI IIC......

我们今天学习的主要是USART(通用的同步异步收发器)和UART(通用的异步收发器)

同步:接收方和发送方使用相同的时钟信号

异步:接收方和发送方使用不同的时钟信号

串行通信:数据在传输的过程中是按位传输 spi iic 485(1200米) can

数据传输速度慢,传输距离远 usart(15米)

并行通信:数据在传输的时候,一次可以传输多位数据(8bit 16bit 24bit 64bit..... 8080)

数据传输速度块,传输距离近

单工通信:是指消息只能单方向传输的工作方式。例如遥控、遥测,

半双工通信:允许在两个方向上传输数据,即从A端发送数据到B端,或从B端发送数据至A端,但不能同时进行双向传输,方向的选择数据终端控制。

全双工通信:发送数据的同时也能够接收数据,两者同步进行

2.串口--USART介绍

通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。 USART利用分数波特率发生器提供宽范围的波特率选择。它支持同步单向通信和半双工单线通信,也支持LIN(局部互连网),智能卡协议和IrDA(红外数据组织)SIR ENDEC规范,以及调制解调器(CTS/RTS)操作。它还允许多处理器通信。使用多缓冲器配置的DMA方式,可以实现高速数据通信

波特率:单位时间(秒)内传输数据的位数 9600

单位时间内传送的码元符号的个数,它是对符号传输速率的一种度量,它用单位时间内载波调制状态改变的次数来表示,波特率即指一个单位时间内传输符号的个数。

2.1USART主要特性

● 全双工的,异步通信

● NRZ标准格式

● 分数波特率发生器系统 ─ 发送和接收共用的可编程波特率,最高达4.5Mbits/s

● 可编程数据字长度(8位或9位)--有效数据

● 可配置的停止位-支持1或2个停止位

● 单线半双工通信

● 可配置的使用DMA的多缓冲器通信 ─ 在SRAM里利用集中式DMA缓冲接收/发送字节

● 单独的发送器和接收器使能位

2.2功能描述:

2.3分数波特率的产生

常用波特率:9600 115200 38400.......

TX/RX波特率:9600 115200 38400......
fck:72MHZ
USARTDIV=72000000/(16*9600)
得到USARTDIV将正数部分和小数部分分开
最终再次整合保存到BRR寄存器中

校验:奇偶校验

校验主要用于检测数据再发送的过程中是否出现错误

奇校验:检测数据中1的个数是否为奇数个

偶校验:检测数据中1的个数是否为偶数个

使用奇校验:发送方1010 1010 1 接收方接收到数据之后,再次对10101010进行校验,得到一个校验码,和发送方对比。

当前测试例程的示意图:

数据发送接收示意图

串口整体框图

图片中阴影部分实际上是一个寄存器--USARTx_DR

只是在不通传输过程中,起到的作用不一样

printf函数的使用:

 

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐