STM32学习之通信协议1 USART

在这里插入图片描述

在这里插入图片描述
时钟特性,比如发送一个波形高电平,然后低电平,接收方怎么知道是1、0还是1、1、0、0 ?
这就需要有一个时钟信号来告诉接收方什么时候需要采集数据。时钟特性分为同步和异步。
I2C和SPI有单独的时钟线,所以它们是同步的,接收方可以在时钟信号的指引下进行采样。
串口、CAN和USB没有时钟线,所以需要双方约定一个采样频率,这就是异步通信,并且还需要加一些帧头、帧尾等,进行采样位置的对齐

USART
在这里插入图片描述

USART可以单片机到单片机、单片机到电脑、单片机到各式各样的模块间通信,极大拓展了单片机的应用范围,增强了单片机系统的硬件实力;I2C/SP是芯片间通信

在这里插入图片描述
起始位:标志一个数据帧的开始,固定为低电平
首先串口的空闲状态是高电平,也就是没有数据传输的时候,引脚必须要置高电平,作为空闲状态。然后需要传输的时候,必须要先发送一个起始位。这个起始位必须是低电平,来打破空闲状态的高电平产生一个下降沿,这个下降沿就告诉接收设备,这一帧数据要开始了

停止位:用于数据帧间隔,固定为高电平
停止位也是为下一个起止位做准备的。如果没有停止位,当数据最后一位是0的时候,下次再发动新的一帧,是不是就没法产生下降沿了,这就是起始位和停止位的作用

校验位:用于数据验证,串口使用的是奇偶校验

在这里插入图片描述

串口的参数
波特率:这是串口通信的速率,串口一般是使用异步通信,所以需要双方约定一个通信速率。比如每隔一秒发送一位,就也得每隔一秒接收一位。如果接收快了,就会重复接收某些位。如果接收慢了,就会漏掉某些位,所以说发送和接收必须要约定好速率。这个速率参数就是波特率。波特率的意思是每秒传输码元的个数。单位是码元每秒,或者直接叫波特。

另外还有个速率表示叫比特率。比特率的意思是每秒传输的比特数,单位是bit/s或者叫bps。

二进制调制的情况下,一个码元就是一个比特,此时波特率就等于比特率。单片机的串口通信基本都是二进制调制,也就是高电平表示1低电平表示0,一位就是1bit。所以说这个串口的波特率经常会和比特率混用,不过这也是没关系的,因为这两个说法的数值相等,如果是多进制调制,波特率就和比特率不一样了。

反映到波形上,比如我们双方规定波特率为1000bps,就表示一秒要发1000位,每一位的时间就是一毫秒,发送方每隔一毫秒发送一位,接收方每隔一毫秒接收一位,这就是波特率,它决定了每隔多久发送一位

理论详细来源江科大笔记
/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

挥剑决浮云 -

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

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

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

打赏作者

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

抵扣说明:

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

余额充值