STM32-笔记27-串口

一、简介

        串口,也称为串行接口或串行通信接口(通常指COM接口),是一种采用串行通信方式的扩展接口。它实现了数据一位一位地顺序传送,具有通信线路简单、成本低但传送速度慢的特点。只要一对传输线,串口就可以实现双向通信。
        串口通信的接口类型包括TTL、CMOS、RS-232和RS-485等,它们分别代表了不同的电平标准。

  • TTL电平

逻辑1:5V,逻辑0:0V

  • CMOS电平

逻辑1:供电电压的最大值,逻辑0:0V

  • RS-232电平

逻辑1:-3V~-15V,逻辑0:+3~+15V

  • RS-485电平

采用差分信号,逻辑1:两线间的电压差为+(0.2~6)V,逻辑0:两线间的电压差为-(0.2~6)V

 

        1. 起始位(Start Bit):起始位为低电平时,告诉接收方数据传输即将开始,准备接收。在通信开始时, 发送端首先会发送一个起始位,它是一个逻辑0(低电平)的信号,用于同步发送和接收设备之间的时 钟。接收端在检测到起始位后,会开始准备接收后续的数据位。

        2. 有效数据位(Data Bits):数据位是由一系列二进制值组成,用于传输或接收实际的数据。数据位的数 量决定了可以传输的不同二进制值的数量,常见的有5位、6位、7位、8位,LSB在前,MSB在后。数据 位紧随起始位之后,包含了要传输的实际信息。

        3. 校验位(Parity Bit):校验位用于验证数据的完整性,以确保传输过程中没有出现错误。常见的校验位 选项有None(无校验位)、Odd(奇校验位)和Even(偶校验位)。在发送数据时,校验位会根据数 据位中1的个数进行计算,并加入到数据中一起传输。接收端则会根据校验位的值进行校验,以判断数 据是否存在错误。(通常不用,因为不准确)

        4. 停止位(Stop Bit):停止位是一个逻辑高电平(1),用于指示数据传输的结束。当停止位出现时,接 收端知道数据传输已经完成,并且可以开始处理接收到的数据。停止位位于数据位和校验位之后,它的 作用是确保接收端有足够的时间来识别数据帧的结束,并为下一个数据帧的到来做好准备。

二、通信速率

通信速率是指在通信系统中单位时间内传输的信息量,是评估通信系统性能的重要指标之一。

1. 比特率(Bit rate):

        定义:比特率是指在通信线路(或系统)中单位时间(每秒)内传输的信息量,即每秒能传输的二进制 位数。它用单位时间内传输的二进制代码的有效位(bit)数来表示,其单位为比特/秒(bit/s或 bps)。注意:1字节 = 8位(byte)

        含义:比特率越高,表示单位时间内传送的数据量越大,信息传输的速率越快。它经常被用作连接速 度、传输速度、信息传输速率和数字带宽容量的同义词。

2. 波特率(Baud rate):

        定义:在电子通信领域,波特率表示每秒传送的码元的个数,即单位时间内载波调制状态变化的次数。 它用单位时间内载波调制状态改变次数来表示,其单位为波特(Baud)。

        含义:波特率描述的是单位时间内调制信号的能力,它决定了在给定时间内可以通过通信通道发送多少 个离散的信号单元(码元)。在数字通信中,码元是表示数字信息的最小单位。

3. tips比特率 = 波特率 * log2 M ,

        M表示每个码元承载的信息量 二进制系统中,波特率数值上等于比特率

三、STM32的uart简介

        1. 全双工通信:USART支持全双工通信,即数据可以在两个方向上同时传输(A→B且B→A)。这使得USART能够满足许多需要双向通信的应用场景。
        2. 同步与异步传输:尽管USART的“S”代表同步,但在实际应用中,USART更常用于异步通信。然而,它也支持同步通信模式,只是这种模式通常用于兼容其他协议或特殊模式,并且两个USART设备不能通过同步模式进行直接通信。
        3. 波特率发生器:USART自带波特率发生器,最高可达4.5Mbits/s,可以根据需要配置不同的波特率。
        4. 硬件流控制:USART支持硬件流控制,通过特定的信号线(如RTS/CTS)实现数据的可靠传输。当接收端没有准备好接收数据时,可以通过RTS信号通知发送端暂停发送;当接收端准备好接收数据时,再通过CTS信号通知发送端恢复发送。

四、UART寄存器及函数的介绍

4.1 状态寄存器

常用位

4.2 数据寄存器

常用位:

4.3 波特比率寄存器

4.4 控制寄存器1

4.5 控制寄存器2

4.6 控制寄存器3

4.7 函数

4.7.1 常用函数-串口初始化函数

4.7.2 msp初始化函数

4.7.3 发送数据函数

4.7.4 接收数据函数

4.7.5 中断发送数据函数

4.7.6 中断接收数据函数

4.7.7 DMA发送数据

4.7.8 DMA接收数据

4.7.9 接收完成回调函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值