你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32的通用同步异步收发器USART模块

[复制链接]
STMCU小助手 发布时间:2022-12-27 18:00
通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换1 W# z0 F$ M, P- z; x1 t* F+ G
" B. f1 a4 ]+ S" N
USART利用分数波特率发生器提供宽范围的波特率选择,它支持同步单向通信和半双工单线通信,还允许多处理器通信+ H7 N' d% [4 n+ J5 t% I8 u, K
3 {( p. [, @% a# A- v
USART的主要特性如下:* d! Z! |9 W7 N* Y/ V
全双工的,异步通信
; j) x6 V% i* E7 b4 i: w/ ]! h: sNRZ标准格式
+ ~! x+ d3 |7 j分数波特率发生器系统(发送和接收共用的可编程波特率,最高达4.5Mbits/s)
, ]* D( y/ p9 A可编程数据字长度(8位或9位)1 C- C9 e# l' V7 S6 e/ |
可配置的停止位-支持1或2个停止位
" x, `- ~6 `  x" S- v9 B发送方为同步传输提供时钟
' S+ o; N. A' c9 _8 a* B单独的发送器和接收器使能位; `+ R8 j6 G% y& d) k: W5 Y
检测标志(接收缓冲器满,发送缓冲器空,传输结束标志)& m) V, o" ^, t; E; |) u- L4 m
校验控制(发送校验位,对接收数据进行校验)
: I& `$ R! j$ Y) u$ R2 {. t
接口通过三个引脚与其他设备连接在一起
8 S1 Z5 a  p- Q9 X- VRX:接收数据串行输。通过过采样技术来区别数据和噪音,从而恢复数据
$ i0 o1 Y% D) I  J% H8 F% z8 f, mTX:发送数据输出。当发送器被禁止时,输出引脚恢复到它的I/O端口配置。当发送器被激活, 并且不发送数据时,TX引脚处于高电平# g7 T6 m0 d! y+ f; Z* A# N

5 k/ P) M. x* c5 a' X; ^# C: e/ q
202109122013358.png 8 D$ V: J) ~3 ^% Q1 S3 J
' J. G: b' N$ ]$ y! s
! X2 Z7 F! i& [' _
寄存器方面:& [, K; F' C" }& _; H/ w- J7 i
一个状态寄存器(USART_SR)
; C7 j$ ~3 Z/ ?数据寄存器(USART_DR)
5 T: I' G4 c' M/ d$ c) w一个波特率寄存器(USART_BRR),12位的整数和4位小数) M/ d# D5 t2 @; w' `
一个智能卡模式下的保护时间寄存器(USART_GTPR)
! d5 q/ q' u8 F
5 `8 F  K$ _! m, R
字长可以通过编程USART_CR1寄存器中的M位,选择成为8或9位。在起始位期间,TX脚处于低电平,在停止位期间处于高电平。( \' J, ~% ?6 D, _& K# z
$ l1 M( k2 A% \  F
空闲符号被视为完全由’1’组成的一个完整的数据帧,后面跟着包含了数据的下一帧的开始位(‘1’的位数也包括了停止位的位数)。
1 F" `2 }6 Z- X

8 I' d# A: {/ c9 C9 Z: S6 C断开符号 被视为在一个帧周期内全部收到’0’(包括停止位期间,也是’0’)。在断开帧结束时,发送器再插入1或2个停止位(‘1’)来应答起始位。: w% z$ b0 B( w; S. B; m9 ~" w+ ?2 f

+ ~# y* y! i" P1 h  @发送和接收由一共用的波特率发生器驱动,当发送器和接收器的使能位分别置位时,分别为其 产生时钟。
; {9 X: n" \/ `* m6 D( [
) A% Y, S" }+ Q! f; L5 k# ^3 T* s
20210912201651928.png
9 E; ]+ v, y2 b4 \) c
! Z" t8 i  c! _# K; h在USART发送期间,在TX引脚上首先移出数据的最低有效位。在此模式里,USART_DR寄存器包含了一个内部总线和发送移位寄存器之间的缓冲器。每个字符之前都有一个低电平的起始位;之后跟着的停止位,其数目可配置) G' U- ]8 \2 y4 _6 g
* {0 ~2 T9 g/ L
在USART接收期间,数据的最低有效位首先从RX脚移进。在此模式里,USART_DR寄存器包 含的缓冲器位于内部总线和接收移位寄存器之间/ c8 K5 d$ o. v5 Y
" v# d! t% R' H; Y: Q2 ]
' m7 B( {" p  F! q; r
分数波特率的产生
5 P7 k! E9 s- K6 e  B接收器和发送器的波特率在USARTDIV的整数和小数寄存器中的值应设置成相同: |% c9 t1 h9 h- ]/ U

1 O1 B- r% U  j1 l: Z
20210912202130565.png
1 A: m( A. v: c! V$ k1 l& I+ B
1 {0 \$ u; q5 R6 ~/ |0 U& v USARTDIV是一个无符号的定点数。这12位的值设置在USART_BRR寄存器
3 w& Y1 q/ F. x! c& T8 v: N$ D0 E* M
注意:在写入USART_BRR之后,波特率计数器会被波特率寄存器的新值替换。因此,不要在通信进行中改变波特率寄存器的数值
) a. E& Y- L  Z, C% z
3 \% T9 D0 G+ @. m% p

5 j" A7 [, ]7 P$ vUSART的寄存器# R( M/ q( e/ v" z0 D
可以用半字(16位)或字(32位)的方式操作这些外设寄存器
( o6 f0 O0 g2 z" M, U  d
# S; K& V( r! X9 O8 {, d& j9 g% P状态寄存器(USART_SR)
' |8 O7 `% s/ j) A' r# a$ d1 k5 P. b5 t1 ?( t& j
20210912202439191.png
- k+ D- [+ S4 b* b$ v' g% b  k+ a  C+ c5 X# f4 j
20210912202454183.png
+ _( t* c. ~! J% e3 a* w' M, Z6 c

# m% @9 B- W2 S6 D4 J' K: L, [数据寄存器(USART_DR)3 \- p$ l! D- s3 M$ Q* O! V
5 s& [5 K+ z7 K( ?0 P, _  N
20210912202526113.png ! S% Z' V. R, j0 p5 H

, ^. h& X0 C- v5 G, u% N) D  m
20210912202540317.png
! Z1 p1 Z- k  k& A  \9 C. o1 z0 E7 Z; T
波特比率寄存器(USART_BRR)3 m: X* B( V9 W2 d- ~& B" @

6 W$ H: P- y) p' N
20210912202611998.png 9 H6 x; f$ k) q4 K- E* u% s

2 q% m/ A" Y; m2 y6 a 控制寄存器 1(USART_CR1)
& B- r) Z( t4 c" X2 `+ k
! Q! T( G; Y/ y  E% {
20210912202750830.png
& m1 w2 e. d, H. ]6 Z/ ^" H) W7 W" p  w: O& m/ s' B4 W
20210912202807334.png 4 I: F/ ]8 A2 C7 g4 O: ?9 {

1 {. G, i! F8 l% I. E1 [9 h5 Y 20210912202830231.png
. Z/ ]2 q0 V) H4 d6 r
4 E; Y8 F" m2 @2 n

8 n9 P1 G  W0 q控制寄存器 2(USART_CR2)8 I8 J8 f7 n6 `; |" e
; Q. P% c! _; m6 V9 N' r4 y) M
20210912202905508.png
: e6 d1 {; k0 W4 _

8 p/ e& n4 r) D, n- ` 20210912202921441.png   C/ q5 S4 K! N/ k6 v6 ^9 h

* S; T6 i8 F. Z3 [控制寄存器 3(USART_CR3)
$ r/ X. y8 @. J  ^* @- z
% A# [4 A" F2 J# A, \ 202109122029448.png
2 z3 `" J7 w$ e0 L
9 c2 E4 o5 a' Y
20210912202957188.png
5 f- f* u" l$ I1 W0 j; {* k4 B% ?9 J! v
保护时间和预分频寄存器(USART_GTPR)
0 h- ~1 v% S1 l* F* o1 Z0 Z2 x8 @" M8 P
+ a' v8 u5 j0 s7 J# v 20210912203019660.png 6 `) J0 n0 i6 m% S

  a, j* o; Z- ]0 F; g, A' ] 20210912203029957.png   O9 @) F2 S4 _4 l/ v
+ ~! m: }- |: }
————————————————
2 m' T( u! M5 }版权声明:CodeForCoffee, i" K" q. v; V8 [2 n& V, s

. y; B5 t) v, g
& }' A( M# _: P7 }
2021091220281939.png
赞 收藏 评论0 发布时间:2022-12-27 18:00

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版