打印
[STM32F4]

RS-232,USART的区别与STM32F407ZGT6 USART学习

[复制链接]
1191|32
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
c17|  楼主 | 2022-12-31 14:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
STM32F407ZGT6 USART学习
1,知识储备
  串口作为 MCU 的重要外部接口,同时也是软件开发重要的调试手段,其重要性不言而喻。
现在基本上所有的 MCU 都会带有串口, STM32 自然也不例外。通常用于STM32与传感器之间通讯(激光测距模块,0.96串口屏,与pc间完成通讯)HC-05制作蓝牙小车等;总之作为一种最先接触的通讯方式,重要性不言而喻。
  STM32F4 开发板 所使用的 STM32F407ZGT6 最多可提供 6 路串口,有分数波特率发生器、 支持同步单线通信和半双工单线通讯 、支持 LIN 、支持调制解调器操作、智能卡协议和 IrDA SIR ENDEC 规范、具有DMA 等。
  首先、  Uart这里指的是TTL电平的串口,TTL电平信号之所以被广泛使用,原因是:通常我们采用二进制来表示数据。而且规定,+5V等价于逻辑“1”,0V等价于逻辑“0”。这样的 数据通信及电平规定方式,被称做TTL( 晶体管- 晶体管逻辑电平)信号系统,但是实际上的高低电平并不是如此,高低电平是个电压范围,通常规定输出高电平>2.4V,输出低电平<0.4V。但实际上室温下,一般输出高电平是3.5V,输出低电平是0.2V。最小输入高电平和低电平规定为 输入高电平>=2.0V,输入低电平<=0.8V,噪声容限是0.4V。

使用特权

评论回复
评论
c17 2022-12-31 14:59 回复TA
———————————————— 版权声明:本文为CSDN博主「*星里」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_52785624/article/details/122516748 
沙发
c17|  楼主 | 2022-12-31 14:59 | 只看该作者
由此有以下概念
1.波特率:波特率表示每秒钟传送的码元符号的个数,它是对符号传输速率的一种度量,它用单位时间内载波调制状态改变的次数来表示,1波特即指每秒传输1个符号;通俗易懂的说就是一秒钟内传输(0,1)的个数,波特率为9600就是一秒内可以传输9600个0或1;

使用特权

评论回复
板凳
c17|  楼主 | 2022-12-31 15:00 | 只看该作者
同步与异步:
同步:同步是指一个进程在执行某个请求的时候,如果该请求需要一段时间才能返回信息,那么这个进程会一直等待下去,直到收到返回信息才继续执行下去。

使用特权

评论回复
地板
c17|  楼主 | 2022-12-31 15:01 | 只看该作者
异步:异步是指进程不需要一直等待下去,而是继续执行下面的操作,不管其他进程的状态,当有信息返回的时候会通知进程进行处理,这样就可以提高执行的效率了,即异步是我们发出的一个请求,该请求会在后台自动发出并获取数据,然后对数据进行处理,在此过程中,我们可以继续做其他操作,不管它怎么发出请求,不关心它怎么处理数据

使用特权

评论回复
5
c17|  楼主 | 2022-12-31 15:01 | 只看该作者
通俗地讲,也就是说,同步需要按部就班地走完一整个流程,完成一整个动作,打个比方:同步的时候,你在写程序,然后你妈妈叫你马上拖地,你就必须停止写程序然后拖地,没法同时进行。而异步则不需要按部就班,可以在等待那个动作的时候同时做别的动作,打个比方:你在写程序,然后你妈妈让你马上拖地,而这时你就贿赂你弟弟帮你拖地,于是结果同样是拖好地,你可以继续敲你的代码而不用管地是怎么拖的哈哈。

使用特权

评论回复
6
c17|  楼主 | 2022-12-31 15:07 | 只看该作者
同步与异步适用的场景:简单得来说,就是看需要的请求的数据是否是程序继续执行必须依赖的数据 如果是必须依赖的就为同步,若要保持实时性就要选用异步即使传输过程中有数据错误也能让最新的数据完成传输。

使用特权

评论回复
7
c17|  楼主 | 2022-12-31 15:08 | 只看该作者
字、字长、字节、位
位(Bit) :表示一个二进制数码0或1,是计算机存储处理信息的最基本 的单位。

字节(Byte) :一个字节由8个位组成 。它表示作为一个完整处理单位的8个二进制数码。

如:字符“A”的二进制编码是“0100 0001”即41H或65D

字(Word) :16个位为一个字(即两个字节是一个字) ,它代表计算机处理指令或数据的二进制数位数,是计算机进行数据存储和数据处理的运算单位。通常称16位是一个字,32位是一个双字,64位是两个双字。

字长:字的位数叫做字长。,不同档次的机器有不同的字长。例如一台8位机,它的1个字就等于1个字节,字长为8位。如果是一台16位机,它的1个字就由2个字节构成,字长为16位。

使用特权

评论回复
8
c17|  楼主 | 2022-12-31 15:09 | 只看该作者
全双工和半双工的区别是: 1、全双工允许数据在两个方向上同时传输。 2、半双工允许数据在两个方向上传输,但是同一时间数据只能在一个方向上传输,实际上是切换的单工。

使用特权

评论回复
9
c17|  楼主 | 2022-12-31 15:10 | 只看该作者
奇偶校验位(英語:parity bit)或校验比特(英語:check bit):是一个表示给定位数的二进制数中1的个数是奇数还是偶数的二进制数。 奇偶校验位是最简单的错误检测码。 奇偶校验位有两种类型:偶校验位与奇校验位。 通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数

使用特权

评论回复
10
c17|  楼主 | 2022-12-31 15:13 | 只看该作者
停止位: 用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台 设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正 时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。

使用特权

评论回复
11
c17|  楼主 | 2022-12-31 15:15 | 只看该作者
STM32 IO口复用

  STM32运用外设时除了 ADC 和 DAC 要将 IO 配置为模拟通道之外其他外设功能一律要配置为复用功能模式!!!!!!

使用特权

评论回复
12
c17|  楼主 | 2022-12-31 15:19 | 只看该作者
STM32F4 系列微控制器 IO 引脚通过一个复用器连接到内置外设或模块。该复用器一次只允 许一个外设的复用功能(AF)连接到对应的 IO 口。这样可以确保共用同一个 IO 引脚的外设之间不会发生冲突。每个 IO 引脚都有一个复用器,该复用器采用 16 路复用功能输入(AF0 到 AF15),可通过 GPIOx_AFRL(针对引脚 0-7)和 GPIOx_AFRH(针对引脚 8-15)寄存器对这些输入进行配置,每四位控制一路复用:

使用特权

评论回复
13
c17|  楼主 | 2022-12-31 15:20 | 只看该作者
DMA概念:
DMA,全称Direct Memory Access,即直接存储器访问。

DMA传输将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。当CPU初始化这个传输动作,传输动作本身是由DMA控制器来实现和完成的。DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场过程,通过硬件为RAM和IO设备开辟一条直接传输数据的通道,使得CPU的效率大大提高。简而言之就是从外设到储存的直接数据搬运。

使用特权

评论回复
14
c17|  楼主 | 2022-12-31 15:21 | 只看该作者
由此可知使用DMA的好处:就是它不需要CPU的干预而直接服务外设,这样CPU就可以去处理别的事务,从而提高系统的效率,对于慢速设备,如UART,其作用只是降低CPU的使用率,但对于高速设备,如硬盘,它不只是降低CPU的使用率,而且能大大提高硬件设备的吞吐量。

使用特权

评论回复
15
c17|  楼主 | 2022-12-31 15:22 | 只看该作者
RS-232与USART的区别

Uart这里指的是TTL电平的串口;RS-232指的是RS-232电平的串口。

TTL电平是3.3V的,而RS232是负逻辑电平,它定义+5~+12V为低电平,而-12~-5V为高电平。         Uart串口的RXD、TXD等一般直接与处理器芯片的引脚相连,而RS232串口的RXD、TXD等一般需要经过电平转换(通常由Max232等芯片进行电平转换)才能接到处理器芯片的引脚上,否则这么高的电压很可能会把芯片烧坏。

使用特权

评论回复
16
c17|  楼主 | 2022-12-31 15:25 | 只看该作者
我们平时所用的电脑的串口就是RS232的,当我们在做电路工作时,应该注意下外设的串口是Uart类型的还是RS232类型的,如果不匹配,应当找个转换线(通常这根转换线内有块类似于Max232的芯片做电平转换工作的),可不能盲目地将两串口相连。

使用特权

评论回复
17
c17|  楼主 | 2022-12-31 19:43 | 只看该作者
硬件连接 
使用时,注意观察指示灯可以更直观的知道发送与接收过程。

接线如下:

使用特权

评论回复
18
c17|  楼主 | 2022-12-31 19:45 | 只看该作者

选择不同USART  按芯片手册进行选择

使用特权

评论回复
19
c17|  楼主 | 2022-12-31 19:47 | 只看该作者
如USART2

打开芯片原理图 在io口区域选择

使用特权

评论回复
20
c17|  楼主 | 2022-12-31 19:48 | 只看该作者
查找输入U2_TX U2_RX就可以找到USART2对应的IO口

其他USART 按此原理就可以寻找到

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

c17

39

主题

311

帖子

1

粉丝