12-串口外设
一、串口外设的基本概述
1、基本定义
串口通信,通过在通信双方之间以比特位(bit)的形式逐一发送或接收数据,实现了信息的有效传递。其通信方式不仅简单可靠,而且成本很低。
2、stm32的串口
下面是两个MCU的数据交互,通过连接MCU的UART外设,实现数据通信交互
3、USART外设的基本概念
1.USART是一个全双工通用同步/异步串行收发模块,该接口是一个高度灵活的串行通信设备
2.UART和USART的区别:
3.处理器和外部设备通信的两种方式:并行通信和串行通信
并行通信(多车道)
-传输原理:数据各个位同时传输。
-优点:速度快
-缺点:占用引脚资源多
使用场景:要求数据传输快,如果外部RAM、LCD、Camera等
串行通信(单车道)
-传输原理:数据按位顺序传输。
-优点:占用引脚资源少
-缺点:速度相对较慢
使用场景:要求占用引脚少,使用串口蓝牙、串口WIFI、SPIRFID卡、SPILCD屏等
4.串行通信按传送方向分:
a.单工:
数据传输只支持数据在一个方向上传输(收音机、遥控器)
b.半双工:
允许数据在两个方向上传输,但是,在某一时刻,只允许数
据在一个方向上传输,它实际上是一种切换方向的单工通信;(对讲机)
c.全双工:
允许数据同时在两个方向上传输,因此,全双工通信是两个
单工通信方式的结合,它要求发送设备和接收设备都有独立
的接收和发送能力。(电话机)
二、stm32串口--USART(习惯叫串口,串口为全双工通信)
1.串口信号分析:
TXD 发送数据 Transmit(tx) Data 简写形式 (TX T TD)
RXD 接受数据 Receive(rx) Data 简写形式 (RX R RD)
2.数据帧格式
传输一个字节,需要包括起始位(1位)、数据位(7、8、9位)、校验位(可选)、停止位(1位)
如:
3.奇偶检验位
奇偶校验是一种校验代码传输正确性的方法,它根据被传输的一组二进制代码数位中1的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。在STM32的串口通信中,奇偶校验主要用于检测数据传输过程中的错误。如果接收端收到的数据中1的个数与约定的奇偶性不符,则认为发生了传输错误。虽然奇偶校验只能检测出部分误码(如1位误码),并且不能纠错,但由于其实现简单,仍得到了广泛使用。
虽然奇偶校验可以检测数据传输过程中的错误,实际使用过程一般不使用它。除非在一些工控产品中可以考虑使用。增加数据传输判断可靠性
4.流控(了解即可)
数据在两个串口之间进行通讯的时候常常会出现丢失数据的现象,比如两台计算机或者是一台计算机和一个单片机之间进行通讯,当接收端的数据缓冲区已经满了,这个时候如果还有数据发送过来,因为接收端没有时间进行处理,那这样的数据就有可能会丢失。在工业现场或者其他领域,经常会遇到这种问题,本质原因是速度不匹配、处理能力不匹配。比如单片机的主频只有20M或30M,ARM的处理能力可能是200M,PC机的处理能力是几个G,这种处理能力的不匹配造成了传输的时候数据容易丢失。
硬件流控就是来解决这个速度匹配的问题。它的基本含义非常简单,当接收端接收到的数据处理不过来时,就向发送端发送不再接收的信号,发送端接收到这个信号之后就会停止发送,直到收到可以继续发送的信号再继续发送。因此流控本身是可以控制数据传输的进度,进而防止数据丢失。
4.1硬件流控
- RTS(Require To Send,发送请求)为输出信号
- CTS(Clear To Send,发送允许)为输入信号
5.串行通信的传送速率
串行通信的传送速率:在串行通信中,数据是按位进行传送的,因此传送速率用每秒钟传送格式位的数目来表示,称之为波特率(band rate)。每秒传送一个格式位就是1波特。
bps:每秒传输多少比特位数据
9600bps:每秒传输9600位数据,波特率参考值,常见波特率:9600bps 115200bps
注意:两个MCU之间进行通信,数据帧格式及波特率必须是相同的,如果不同,则会出现数据传输异常。
波特率传输时有一定的误差,波特率值越高,误越大。这一点需要注意。
三、USART1配置流程
1、串口程序时,需要注意将stm32f4xx.h第127行25000000改为8000000,修改后,如下
#define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */
2、需要注意将system_stm32f4xx.c第254行25改为8,修改后,如下
#define PLL_M 8
3、理解电路原理图
PA9 ---- USART1_TX(发送端)
PA10 ---- USART1_RX(接收端)
下面是手机蓝牙控制开发板灯的源码
https://download.csdn.net/download/m0_63622771/90835799
四、串口软件的使用方法
1、安装驱动:CH340
2、安装软件:porthelper(单片机多功能调试助手-最新版本1.8.9-CSDN博客)