stm32入门-----串口协议

 目录

前言

串口通讯

1.基本概念

2.通讯接口

3.硬件电路

4.电平标准

5.串口参数与时序


前言

        本期我们就开始学习stm32的串口通讯,在我们最开始学习stm32的时候,我们就已经接触了串口,也就是ST-Link烧录,这个也是串口通讯的样式,串口通讯是非常多的,本期我们就详细学习串口之间的通信协议。(视频:[9-1] USART串口协议_哔哩哔哩_bilibili

串口通讯

1.基本概念

  • 串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信
  • 单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信,极大地扩展了单片机的应用范围,增强了单片机系统的硬件实力

2.通讯接口

  • 通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统
  • 通信协议:制定通信的规则,通信双方按照协议规则进行数据收发

 下表展示的就是不同的通讯接口对应的特效。总的来说通信接口分为三大类,全双工、半双工和单工(这里没展示)。全双工是指两个对象之间在发生的同时也能接收,发生和接收是并发执行的,所以通道是有两个的;半双工是指只有一个通道,这个通道只能在同一个时间内执行发生火灾接收,二者不能同时进行;二单工是指一台设备只能向另外一台设备发送,而另外一台设备只能接收数据二不能发送数据给对方。

名称

引脚

双工

时钟

电平

设备

USART

TXRX

全双工

异步

单端

点对点

I2C

SCLSDA

半双工

同步

单端

多设备

SPI

SCLKMOSIMISOCS

全双工

同步

单端

多设备

CAN

CAN_HCAN_L

半双工

异步

差分

多设备

USB

DPDM

半双工

异步

差分

点对点

3.硬件电路

  • 简单双向串口通信有两根通信线(发送端TX和接收端RX
  • TXRX要交叉连接
  • 当只需单向的数据传输时,可以只接一根通信线
  • 当电平标准不一致时,需要加电平转换芯片

 TX和RX要交叉连接,是因为二者表示的是发送和接收的意思,所以发送对应的就是接收,接收对应的就是发送。

4.电平标准

电平标准是数据 1 和数据 0 的表达方式,是传输线缆中人为规定的电压与数据的对应关系,串口常用的电平标准有如下三种:
  • TTL电平:+3.3V+5V表示10V表示0
  • RS232电平:-3~-15V表示1+3~+15V表示0
  • RS485电平:两线压差+2~+6V表示1-2~-6V表示0(差分信号)

我们用的stm32的电平是TTL电平,如果要用其他类型的电平,那就要用电平转换模块去进行转换。

5.串口参数与时序

  • 波特率:串口通信的速率
  • 起始位:标志一个数据帧的开始,固定为低电平
  • 数据位:数据帧的有效载荷,1为高电平,0为低电平,低位先行
  • 校验位:用于数据验证,根据数据位计算得来
  • 停止位:用于数据帧间隔,固定为高电平

        波特率是指两个通讯对象之间约好一个发送和接收的速度,因为串口之间一般是异步通讯,所以这样可以避免发送和接收的频率不一样导致错误。另外就是还有一种叫做比特率,其实波特率和比特率数值是一样的,说法不同,比特率的单位是 bit/s 也就是我们常见的bps ,就是表示一秒传输多少位的二进制数。

        起始位是出于低电平的状态,也就是当空闲的时候要去发送或者接收数据的时候会产生一个下降沿,然后进入到起始位表示要开始接收数据的,起始位是一个二进制数0。后面接着就是八位的数据位,数据位发送或者接收完成之后二者都会有一个停止位,如果最后一位是低电平那么就会由上升沿进入到高电平,如果是高电平那就保持不变,但这个并不是数据了而是停止位。另外接收的时候数据位后面还会紧接着一个校验位,这个校验位分为奇校验和偶校验,是来判断数据位 1 的个数的奇偶性,进而判断接收的数据是否异常,如果数据异常就可以抛弃这一个数据。

相关示例(左边发送对应右边接收): 

串口参数及时序

 以上就是本期的全部内容了,我们下次见!

今日壁纸:

  • 15
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Fitz&

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

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

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

打赏作者

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

抵扣说明:

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

余额充值