STM32中的串口通信的基础知识

发布者:asdfrewqpp最新更新时间:2022-05-29 来源: eefocus关键字:STM32  串口通信  基础知识 手机看文章 扫描二维码
随时随地手机看文章

串口通信基本原理

并行通信串行通信

① 并行通信传送八路信号,一次并行传送传送完整的一个字节信息。串行通信在一个方向上只能传送一路信号,一次只能传送一个二进制位,传送一个字节信息时,只能一位一位地依次传送;


② 串行的传输速度慢,但是对线路的要求低一些。 并行的对线路的要求高,但是速度快;


③ 串行线路仅使用一对信号线,线路成本低并且抗干扰能力强,因此可以用在长距离通讯上;而并行线路使用多对信号线(还不包括额外的控制线路),线路成本高并且抗干扰能力差,因此对通讯距离有非常严格的限制。


串行通信中单工,半双工和全双工的区别

单工,半双工和全双工是通过传输方向不同而分的。具体说明如下:

image.png

按通信方式不同又可分为异步通信和同步通信

image.png

常见的串行通信接口

注:

注:全双工由于可以同时进行双向通信,因此通信双方都有独立的接收和发送引脚;单工和半双工由于在任何时刻只有且仅有一种信息传输状态,因此通信双方的接收和发送引脚是结合在一起的,不相互独立。


STM32中的5个串口引脚

image.png

其中包含3个USART通用异步/同步收发器(1,2,3),2个UART通用同步收发器(4,5)。


STM32中USART的通信过程

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

奇偶矫正位

奇bai偶校验(Parity Check)是一种校验代码传输正确性du的方法。根据被传输的一组二进zhi制代码的数位中“1”的个dao数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验“1”的个数是否为奇数,从而确定传输代码的正确性。


奇偶校验位有两种类型:偶校验位与奇校验位。如果一组给定数据位中 1 的个数是奇数,那么偶校验位就置为 1,从而使得总的 1 的个数是偶数。如果给定一组数据位中 1 的个数是偶数,那么奇校验位就置为 1,使得总的 1 的个数是奇数。


如果GPIO作为串口,如何配置输入输出模式?

参考“STM32中文参考手册->通用复用功能I/O->GPIO功能描述->外设的GPIO配置”。


异步串口通信框图讲解

对于进行数据的异步发送与异步接收的两个设备来说,最重要的是要有“同样的波特率”。在上述框图中,波特率产生到送入移位寄存器的方式如下:

关键字:STM32  串口通信  基础知识 引用地址:STM32中的串口通信的基础知识

上一篇:STM32中串口通信的基本操作
下一篇:NVIC中断优先级管理示例解析

推荐阅读最新更新时间:2024-11-11 11:11

数据通信基础知识汇总
一、数据通信的构成原理、交换方式及适用范围   1.数据通信的构成原理 DTE是数据终端。数据终端有分组型终端(PT)和非分组型终端(NPT)两大类。分组型终端有计算机、数字传真机、智能用户电报终端(TeLetex)、用户分组装拆设备(PAD)、用户分组交换机、专用电话交换机(PABX)、可视图文接入设备(VAP)、局域网(LAN)等各种专用终端设备;非分组型终端有个人计算机终端、可视图文终端、用户电报终端等各种专用终端。   数据电路由传输信道和数据电路终端设备(DCE)组成,如果传输信道为模拟信道,DCE通常就是调制解调器(MODEM),它的作用是进行模拟信号和数字信号的转换;如果传输信道为数字信道,DCE的作用是实现信号码
[模拟电子]
STM32的USART DMA传输(转)
问题描述: 我有一个需求,AD采得一定数目的数据之后,由串口DMA发出,由于AD使用双缓冲,所以每次开始DMA的时候都需要重新设置开始的内存地址以及传输的数目(这些都是理所当然的),但是在开始调试的时候,遇到了一些问题,问题如下:当第一次DMA传输完毕,关闭DMA以设置内存地址等,再开启DMA,发现不启动了。 开始是参考了《STM32中文参考手册REV10》,里面的发送步骤如下: 1. 在DMA控制寄存器上将USART_DR寄存器地址配置成DMA传输的目的地址。在每个TXE事件后,数据将被传送到这个地址。 2. 在DMA控制寄存器上将存储器地址配置成DMA传输的源地址。在每个TXE事件后,将从此存储器区读出数据并
[单片机]
STM32编程为何内部不应开DAC缓冲
为工业场合开发的设备通常情况下都会具有4-20mA输出接口,在以往没有DAC模块的单片机系统,需要外加一主片DAC实现模拟量的控制,或者采用PWM来摸拟DA,但也带来温漂和长期稳定性问题。在以STM32为中心的设备中,使用它自带的DAC即可非常方便的实现4-20mA的输出接口,具有精度高、稳定性好、漂移小以及编程方便等特点。 在STM32单片机系统中,100脚以下没有外接出VREF引脚,但这样使得DAC的参考端和VCC共用,带来较大误码差,为解决这一问题,可以使用廉价的TL431来解决供电问题,TL431典型温漂为30ppm,所以在一般应用中已非常足够。选用两只低温漂电阻,调整输出使TL431的输出电压在3V-3.6V之间,它
[单片机]
<font color='red'>STM32</font>编程为何内部不应开DAC缓冲
STM32串口收数据的几种不同方式
本例程通过PC机的串口调试助手将数据发送至STM32,接收数据后将所接收的数据又发送至PC机,具体下面详谈。。。 实例一: void USART1_IRQHandler(u8 GetData) { u8 BackData; if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //中断产生 { USART_ClearITPendingBit(USART1,USART_IT_RXNE); //清除中断标志. GetData = UART1_GetByte(BackData); //也行GetData=USART1- DR; USART1_SendByte(GetData); //
[单片机]
硬件基础知识:从集成电路角度去认识单片机
本文着手从集成电路角度去认识单片机,主要介绍了单片机的引脚图及引脚功能,以及单片机简易编程。 首先,先看下80C51单片机的功能结构框图。 80C51单片机属于MCS-51系列单片机,采用40引脚双列直插式DIP(Dual In Line Package),内有128个RAM单元及4K的ROM。 80C51单片机的功能结构框图 下面介绍一下单片机的引脚图及引脚功能(如下图所示),引脚的具体功能将在之后详细介绍。 单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。 1. 电源: ⑴ VCC -芯片电源,接+5V; ⑵ VSS - 接地端; 2. 时钟: XTAL1、XTAL2 - 晶体振荡电路
[单片机]
硬件<font color='red'>基础知识</font>:从集成电路角度去认识单片机
STM32单片机的八种IO口模式讲解
八种IO口模式 STM32有八种IO口模式,分别是:模拟输入、浮空输入、上拉输入、下拉输入、开漏输出、推挽输出、复用开漏输出和复用推挽输出。 1、模拟输入 GPIO_Mode_AIN模拟输入,即关闭施密特触发器,将电压信号传送到片上外设模块(不接上下拉电阻)。 2、浮空输入 GPIO_Mode_IN_FLOATING浮空输入。浮空输入状态下,IO的电平状态是不确定的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定的。 3、上下拉输入 GPIO_Mode_IPD下拉输入,GPIO_Mode_IPU上拉输入。一般来讲,上拉电阻为1K-10K,电阻越小,驱动能力越强。 电阻的作用:防止输入端悬空,减少外部电流
[单片机]
<font color='red'>STM32</font>单片机的八种IO口模式讲解
一种电动栏杆机控制器的设计与实现
  1.引言   电动栏杆机是机电一体化设备,不仅应用于公路、桥梁和口岸,同时也广泛使用在各种场区的禁行管理场合。电动栏杆系统设计的技术水平对产品的功耗、寿命及可靠性影响很大。目前我国的高速公路收费站内每一条车道都配置一台电动栏杆机。电动栏杆的快速与稳定运行对车辆快速通过收费站有着非常重要的意义。   传统的电动栏杆机大多采用继电器控制带有大减速比减速异步电机的结构形式,大多数电动栏杆需要与上位机联网,由上位机发出控制指令,通过计算机内的接口卡控制栏杆机的起停,并检测安装在电动栏杆机上的行程开关来控制抬起与落下的行程。由于计算机的不稳定性与系统不可靠性,使得电动栏杆机的可靠性降低,电动栏杆机故障引起的高速公路车流不畅屡见不鲜。
[单片机]
一种电动栏杆机控制器的设计与实现
STM32单片机按键电路设计
以前GPIO上接的电路都是低电平触发的那种,新画了个板子有一个按键设计的是高电平触发,结果IO口设置成上拉输入后,怎么读都不正确,按键电路如图1。无奈只能去调试一下,发现当设置为上拉输入后,其ODR(GPIO输出数据寄存器)相应的也置为1,百思不得其解。 图1 按键电路 于是去看一下GPIO的结构图: I/O引脚结构图 由图可以发现其实输出寄存器与输入寄存器之间在I/O引脚处是线与状态,在GPIO设置成上位输入时,其上拉电阻闭合,这时如果输出寄存器设置为0那么在IO口内部就会自己损耗电流,而这些电流的损耗是会增加功耗的。因此当GPIO设置成上拉输入时,相应的输出寄存器也设置为1. 将按键电路与I/O
[单片机]
<font color='red'>STM32</font>单片机按键电路设计

推荐帖子

谁在玩WINCE60?发个ARMV4I版本的RIL。DLL给我啊,我的WINCE60找不到这个文件,大家帮帮忙!
谁在玩WINCE60?发个ARMV4I版本的RIL。DLL给我啊,我的WINCE60找不到这个文件,大家帮帮忙!QQ:392325349;MSN:xqhrs232@hotmail.com;email---xqhrs232@yahoo.com.cn谁在玩WINCE60?发个ARMV4I版本的RIL。DLL给我啊,我的WINCE60找不到这个文件,大家帮帮忙!估计是执行CLEANSYSGEN把自带的RIL。DLL给清掉了!!!就没有一个想帮助我的人?重新建立一个新的工程,总算编译出来
挥落天使 WindowsCE
串口不能正确回显
我修改了一个移植到S3C2410目标板的bootloader。烧写到Flash,复位后,在初始化设置的波特率下,终端无回显,在其它波特率下有。请问高手这是什么原因,该如何解决?串口不能正确回显在初始化设置的波特率下,终端无回显,在其它波特率下有。这说明你bootloader设置的波特率可能有问题,不是PC对应的那些可配置的波特率。也可能PC没有配置好,从而导致两端的波特率不一样。楼主如果有条件,用示波器测试下就知道啦首先感谢你的答复!不是学硬件的。不知道用示波器怎么测试?改
3mao 嵌入式系统
请版主解释一下STM32F105
这个图片是在日本的网站上找到了,怎么在中国这个芯片就不宣传了?imgsrc=https://bbs.eeworld.com.cn/upfiles/img/200812/200812514821860.jpgonload=thumbImg(this)alt=/请版主解释一下STM32F105一般不太会的吧,迟早要宣传的不针对中国?imgsrc=http://bbs.eewo
songtl stm32/stm8
[N32L43X评测] 5.硬件SPI驱动OLED
前面2.模拟I2C驱动OLED3.硬件I2C驱动OLED4.模拟SPI驱动OLED介绍了模拟I2C、硬件I2C、模拟SPI来驱动OLED显示屏,此篇介绍使用N32L43x硬件SPI2轮询模式来实现驱动OLED显示屏。硬件连接GNDGNDVCC3.3VDOPB13DIPB15RESPC7DCPC6CSPB12软件代码SPI2配置参考官方例程:配置时需注意驱动OLED,SPI
805721366 国产芯片交流
pcb优点
PCB的独特优点: 可高密度化。数十年来,印制板高密度能够随着集成电路集成度提高和安装技术进步而发展着。 高可靠性。通过一系列检查、测试和老化试验等可保证PCB长期(使用期,一般为20年)而可靠地工作着。 可设计性。对PCB各种性能(电气、物理、化学、机械等)要求,可以通过设计标准化、规范化等来实现印制板设计,时间短、效率高。 可生产性。采用现代化管理,可进行标准化、规模(量)化、自
杭猎板 PCB设计
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved