10、STM32的串口(UART)及串口通信原理(内附代码)

article/2025/10/6 19:39:34

一、通信接口介绍

    1、处理器与外部设备通信的两种方式:      

        并行通信

    -            传输原理:数据各个位同时传输。

                -优点:速度快

                -缺点:占用引脚资源多

        串行通信

   -            传输原理:数据按位顺序传输(一位一位传输)。

                -优点:占用引脚资源少

                -缺点:速度相对较慢

    2、串行通信三种传送方式:

        单工:

               数据传输只支持数据在一个方向上传输

        半双工:

               允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;

        全双工:

               允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。

    3、串行通信的通信方式及举例

        同步通信:带时钟同步信号传输。         -SPI,IIC通信接口

        异步通信:不带时钟同步信号。            -UART(通用异步收发器),单总线


二、什么是串口:

    串口是我们的大多数微控制单元(MCU)都具有的基本的外部接口,一般串口最基本的功能就是调试,又能做数据通信的接口(数据量要小一些)。

    数据从A到B只能通过1根线,数据就像是羊肉块一样被串在线上

        UART:通用异步收发器

        USART:通用同步异步收发器


三、串口电平标准及引脚连接方法:

    1、电平标准

     TTL是常见的模块的通讯电平标准:串口wifi、串口蓝牙(4针接口:VCC、GND、TXD、RXD)

     232一般是数据通讯接口:台式电脑的主机背后的九针接口

    2、连接方法

        RXD:数据输入引脚。数据接受。

        TXD:数据发送引脚。数据发送。

             


四、STM32串口通信过程

数据接收过程:

数据发送过程:


五、STM32串口异步通信需要定义的参数

        ①起始位

        ②数据位(8位或者9位)   9位是带奇偶校验位

        ③奇偶校验位(第9位)    

                奇检验就是保证8位数据位中1的个数为基数个,如果1是基数个则检验位就为0,反之为1;

                偶检验就是保证8位数据位中1的个数为偶数个,如果1是偶数个则检验位就为0,反之为1;

        ④停止位(1,15,2位)

        ⑤波特率设置


六、UART配置过程  

  //1、串口时钟和GPIO时钟使能①串口时钟使能: RCC_APBxPeriphClockCmd();②GPIO时钟使能:RCC_AHB1PeriphClockCmd();//2、设置引脚复用器映射:GPIO_PinAFConfig();//3、串口参数初始化(GPIO配置)(五大参数)GPIO_Init();//初始化//4、串口参数初始化(六大参数)USART_Init(); //初始化串口//5.使能串口USART_Cmd();//6.开启中断(如果需要开启中断才需要这个步骤)//  设置中断进入的条件:接收数据缓冲区有数据的时候就会进入中断USART_ITConfig(USART1, USART_IT_RXNE,ENABLE);//7.配置NVIC中断(四大参数)NVIC_Init(&NVIC_InitStructure);//8、编写中断处理函数:USARTx_IRQHandler();

 //串口数据收发:void USART_SendData();//发送数据到串口,DRuint16_t USART_ReceiveData();//接受数据,从DR读取接受到的数据//串口传输状态获取:FlagStatusUSART_GetFlagStatus();void USART_ClearITPendingBit();


http://chatgpt.dhexx.cn/article/HY29ufrj.shtml

相关文章

串口通信的概念与实现

uart串口通信概念数据结构termios作用与设置串口读写实现 UART串口通信概念 通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作uart,是一种异步收发传输器,uart作为异步串口通信协议的一种,…

java基于RXTXcomm的串口程序

准备工作 首先下载官方提供的jar包和.dll文件,dll文件有两个,一个是rxtxSerial,一个是rxtxParallel,分别表示串口和并口。因为我开发串口,所以把rxtxSerial.dll放到了jdk1.8.0_171/jre/bin和jre1.8.0_171/bin目录下&a…

51单片机串口多机通信的原理与编程实现

51单片机串口多机通信 需要用的的寄存器 (了解的可直接跳到下一节) TMOD 定时器/计数器模式控制寄存器TCON 定时器控制寄存器SCON 串口控制寄存器PCON 电源控制位寄存器IE 中断中断使能寄存器 补充说明,TH1 预置值计算,中断源 波特率计算公式…

Java串口通信详解

序言 说到开源,恐怕很少有人不挑大指称赞。学生通过开源代码学到了知识,程序员通过开源类库获得了别人的成功经验及能够按时完成手头的工程,商家通过开源软件赚到了钱……,总之是皆大欢喜。然而开源软件或类库的首要缺点就是大多缺…

Java串口通信(RXTX)

这几天要用到串口通信,而我最会的Java,所以我就去学了一下怎么用Java进行串口通信 用的jar包是RXTX官网:http://rxtx.qbang.org/ 下载地址:http://fizzed.com/oss/rxtx-for-java 下载好Jar包后,首先需要配置,这里我用的Eclipse Window->Preferences->Java->Build …

十一、串口通信的基本原理与应用

通常用:SMOD 0,0xfd 利用51单片机的串行接口与上位机建立传输信道进行数据的收发。采用8位UART模式,即模式1,波特率为9600BPS。数据发送采用查询方式,数据接收采用中断方式。 系统上电初始化之后,单片机向…

【超简单的串口通信的工作原理】

下图是电脑收到单片机经过串口发送的信息, 那么电脑是如何与单片机进行串口通信的呢? 首先,任何一种通信都要包括硬件物理接口和软件通信协议。 串口通信物理接口如下图。单片机通过发送端将数据从左往右一位一位按顺序发送;且在…

串口通信基本原理

目录 串口通信连线: 串口通信时序: 起始位: 数据位: 校验位: 停止位: 总结: 串口通信特点: 基于串口的通讯接口: 串口通信连线: 任何通信都要有信息…

一篇短文让你彻底理解什么是串口通信

1 并行与串行通信 机器的通信方式有两种,分别是并行通信与串行通信。 并行通信:并行通信是指多比特数据同时通过并行线进行传送,这样数据传送速度大大提高,但并行传送的线路长度受到限制,因为长度增加,干…

Java RXTX 实现串口通信

目录 串口(通信)概述 串口调试助手 RXTX 下载与依赖 Java 开发实战 串口(通信)概述 1、串口通信是指串口按位(bit)发送和接收字节 2、串口通信可以在使用一根线发送数据的同时用另一根线接收数据 3、串口通信常用的协议包括…

串口通信原理

并行通信是指数据的各个位用多条数据线同时进行传输 优点:传输速度快 缺点:占用引脚资源多 串行通信是将数据分成一位一位的形式在一条传输线上逐个传输 优点:通信线路简单、占用引脚资源少 缺点:传输速度慢 同步通信&#xf…

串口通讯基本原理 【详细】

串口通信的基本知识 本文介绍了串口通讯的基本概念、数据格式、通讯方式、典型的串口通讯标准等内容。 串口通讯,RS232,RS485,停止位,奇校验,偶校验 1 串口通讯 串口通讯(Serial Communication),是指外设和计算…

串口通信的基本原理详解

目录 串口通信 串口通信的两种基本方式 异步数据的数据发送过程 异步通信的数据接收过程 9针串口(DB9) TTL与RS232区别 TTL: RS232: 串口通信的数据格式 通讯方式 偶校验与奇校验 停止位 波特率(波特率就是每秒钟传输…

串口通信原理详解

串口通信是一种串行异步通信,通信双方以字符帧作为数据传输单位,字符帧按位依次传输,每个位占固定的时间长度。两个字符帧之间的传输时间间隔可以是任意的,即传输完一个字符帧之后,可以间隔任意时间再传输下一个字符帧…

14_串口通信原理

通信方式的两种: 并行通讯: 传输原理:数据各个位同时传输。 优点:速度快 缺点:占用引脚资源多 串行通信: 传输原理:数据按位顺序传输。 优点:占用引脚资源少 缺点:速度相对较慢 串行通信: 按照数据传送方向,分为: 单工:数据传输只支持数据在一个方向上传输。 半双工:…

【Linux】基于美信串行解串器实现UART串口通信

文章目录 前言一、环境介绍二、硬件配置1. MAX967632. MAX96752F 三、串口通信协议1. 帧格式2. 同步帧3. 应答帧4. 包格式(包由帧组成) 四、内核模块实现 前言 车载项目中串行/解串器是十分常见的外设,目前常用的有两种标准:GMSL…

毫米波雷达图解算法原理(基于TI雷达)

毫米波雷达数据处理原理 前言基础bin文件解读 以下我们取1帧进行操作:对数据矩阵进行操作前的转换——开始计算结果矩阵一维FFT(距离)二维FFT(速度)角度维FFT (假设利用结果已经获取目标)对目标…

【阵列信号处理】DOA估计算法

DOA估计中的ESPRIT算法 ESPRIT算法时一种利用子空间旋转法估计DOA参数的方法,其算法的基本思想是将阵列在结构上分成两个完全一致的子列,两个子列相应阵元偏移的距离相等,也就是说阵列的阵元被分成一对对的形式,而且每一对之间具…

Hector SLAM 原理详解、算法解析

目录 1.原理详解 2.算法解析 1.原理详解 Hector整体算法很直接,就是将激光点与已有的地图“对齐”,即扫描匹配。扫描匹配就是使用当前帧与已经有的地图数据构建误差函数,使用高斯牛顿法得到最优解和偏差量。其工作是实现激光点到栅格地图的转…

MPU 6050姿态角度融合算法

1、介绍 1.1 姿态角(Euler角)pitch yaw roll介绍 飞行器的姿态角并不是指哪个角度,是三个角度的统称。它们是:俯仰、滚转、偏航。你可以想象是飞机围绕XYZ三个轴分别转动形成的夹角。 地面坐标系(earth-surface inert…