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

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

[复制链接]
STMCU小助手 发布时间:2022-12-27 18:00
通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换
$ z# T& V3 H8 x- g6 ^/ n1 ?+ ]! R# o: b
USART利用分数波特率发生器提供宽范围的波特率选择,它支持同步单向通信和半双工单线通信,还允许多处理器通信' {( W' k8 P( L- T7 G+ P  t5 r

" H! H3 {  u/ N/ W# }USART的主要特性如下:
7 u, g2 B8 b' d0 M$ v* K0 U3 A8 W全双工的,异步通信% ~  z2 Y- ^  v/ }) r
NRZ标准格式3 d6 a; x% \0 G  x+ e
分数波特率发生器系统(发送和接收共用的可编程波特率,最高达4.5Mbits/s)
" s8 E# w: J2 I  I: f. f可编程数据字长度(8位或9位)  }$ F. Q% C% @! I8 J7 [; J$ D4 h/ t" Y
可配置的停止位-支持1或2个停止位) [3 F& V+ w7 x+ l' J3 c2 `( y' T
发送方为同步传输提供时钟+ C" d2 t) y2 K
单独的发送器和接收器使能位" B$ [+ y2 t+ A8 ^
检测标志(接收缓冲器满,发送缓冲器空,传输结束标志)6 ^9 J3 }  \: F% y, D/ l2 h
校验控制(发送校验位,对接收数据进行校验)
. k% K2 g& b2 G- g! H
接口通过三个引脚与其他设备连接在一起
( T" Y/ s/ W2 `; v  JRX:接收数据串行输。通过过采样技术来区别数据和噪音,从而恢复数据
3 J6 B# n) }* i7 ]; ?- uTX:发送数据输出。当发送器被禁止时,输出引脚恢复到它的I/O端口配置。当发送器被激活, 并且不发送数据时,TX引脚处于高电平: B" \7 \4 f3 k8 n! p' F

9 G& s! E4 l" @, Y: s8 j
202109122013358.png 5 }5 Z* B  t! U9 b' X
) s$ n7 k+ \4 ^0 ]* \

7 E( k0 w+ [6 l) p9 Z4 G3 i寄存器方面:
/ d7 Q- d6 V7 M" ]- w# D一个状态寄存器(USART_SR)
& F4 j+ |% n: P: y3 |' p数据寄存器(USART_DR)
/ V# v/ j- s3 }2 [一个波特率寄存器(USART_BRR),12位的整数和4位小数
# y: F5 h0 N4 L; @一个智能卡模式下的保护时间寄存器(USART_GTPR)) B# [' n% Z+ r& \
6 o6 g. P3 P* t; \
字长可以通过编程USART_CR1寄存器中的M位,选择成为8或9位。在起始位期间,TX脚处于低电平,在停止位期间处于高电平。& |# Z5 L1 V/ ?$ e+ S( z" c" ?

( a2 v! m) h. }4 B空闲符号被视为完全由’1’组成的一个完整的数据帧,后面跟着包含了数据的下一帧的开始位(‘1’的位数也包括了停止位的位数)。
! i2 Q' A, r' k. y; t

: k6 b' A4 q2 r% c& |4 _/ I" M断开符号 被视为在一个帧周期内全部收到’0’(包括停止位期间,也是’0’)。在断开帧结束时,发送器再插入1或2个停止位(‘1’)来应答起始位。
2 _) r: e& D# {0 a! e' J& x
% B) X- f! r( b1 w发送和接收由一共用的波特率发生器驱动,当发送器和接收器的使能位分别置位时,分别为其 产生时钟。2 {5 I1 G# g7 _9 s/ O

' b* M' Y' g" ]5 u
20210912201651928.png
  }: s: l  v$ A/ ^
) S. b2 K3 h- D6 P在USART发送期间,在TX引脚上首先移出数据的最低有效位。在此模式里,USART_DR寄存器包含了一个内部总线和发送移位寄存器之间的缓冲器。每个字符之前都有一个低电平的起始位;之后跟着的停止位,其数目可配置
- F! V; m9 f0 Q2 Z' n
: w2 _4 O: J: o8 @) M& ?
在USART接收期间,数据的最低有效位首先从RX脚移进。在此模式里,USART_DR寄存器包 含的缓冲器位于内部总线和接收移位寄存器之间  m/ ~9 B% e4 D6 l. S
3 Q$ `, _" n. f2 H5 y

8 m6 T' O* ^% P; C' k7 m分数波特率的产生8 h5 X1 A  c' }6 W/ {7 F- q
接收器和发送器的波特率在USARTDIV的整数和小数寄存器中的值应设置成相同
. L6 {& A( ~' u% \" l& n! ~2 x8 H4 b
& M) A  c# ?- a6 d
20210912202130565.png * ]; S, l6 H' h$ {) z% S
, q3 M7 L% J2 N& ~5 K6 c! ?
USARTDIV是一个无符号的定点数。这12位的值设置在USART_BRR寄存器
' x2 K  u! A. i8 K7 u6 ^6 ?9 ^# u
, Y6 l& I9 Y) C" B7 x& V注意:在写入USART_BRR之后,波特率计数器会被波特率寄存器的新值替换。因此,不要在通信进行中改变波特率寄存器的数值+ Y, q- ^4 P% P" U, I$ B
: R* [, Y2 U3 X* K

+ O( j+ i; N" ^. g' O% o+ u1 CUSART的寄存器6 L1 ~' z+ N/ a, Z- W9 `
可以用半字(16位)或字(32位)的方式操作这些外设寄存器4 S5 b: F" ~0 \4 Y5 U" J
& p9 A$ }) j, I# q/ [% {
状态寄存器(USART_SR), N( f& c. z5 Q/ y2 f
4 P$ l0 o" k3 ]% L8 H3 @
20210912202439191.png
+ q& U7 q; _0 ]1 K3 E% H' a
, a/ m3 S2 e; d* O, T
20210912202454183.png
% _4 W- e; o& @7 I$ Y  }
$ b- O/ W: w) }" G* {
数据寄存器(USART_DR)
' ~* w5 K; t. g: o  A
0 c9 v, q- q9 c2 q0 A
20210912202526113.png ) r  ]$ {! P1 u
8 O8 X* A0 k  Q# _5 R. E
20210912202540317.png
! q! k3 h# [$ H" ~% r! e  }2 F9 \
波特比率寄存器(USART_BRR)+ h3 R9 P* m4 u7 S
% X# s( D0 A: g2 O, e- C
20210912202611998.png ( |3 m1 X7 Z  a7 |  m# o! }( n  ^
' o+ E7 i3 c& h1 Y1 }' ^! a
控制寄存器 1(USART_CR1)
, x7 n$ ~, T1 ]4 U( p/ O5 U8 [( n: }0 I9 Q
20210912202750830.png 7 O# J2 k# H. C
- L& ?, U9 e4 }& H. ~+ E5 ~2 E. V
20210912202807334.png $ S; G2 o6 g( @# X$ v. O( X0 z. }# d
8 l3 @/ L8 G. L+ `7 V1 S
20210912202830231.png
" B4 t+ N; r+ J- {2 V2 Q8 t' ?) q' l  @  {
) f. N: E5 i! R; \8 O# r; F
控制寄存器 2(USART_CR2)
0 c& ?" K, S& H' n
! t3 O4 r) j2 @7 ~+ d 20210912202905508.png
6 e8 B! ^  U% I; D' d  W/ e3 Z- z4 p
/ S  M! i% v- p* \; W
20210912202921441.png
' [: {$ x* O& Z1 z. n
/ [% r/ I0 S6 R) b4 }
控制寄存器 3(USART_CR3) + T6 L7 E6 k9 t! }7 ?  y
; n, [8 I) O7 ?* I
202109122029448.png
2 f2 \$ B+ {- _+ Q
8 i& Z( E% y3 a2 q* ]
20210912202957188.png
( J& e7 U7 V% a3 Z5 w* o' X
6 E. ^! y5 Q5 r0 k( w* [  c保护时间和预分频寄存器(USART_GTPR)2 s4 b. C, m0 K
5 {- P% j, Z; M9 Q2 v
20210912203019660.png
  ^: o* k7 f4 [4 t, d0 j! d/ L
) ~+ ?+ I8 L9 B/ B+ S# x# k
20210912203029957.png
! b  d; W. P3 C7 B6 s" K
) s0 O! b/ ?2 ?, s5 t
————————————————/ ^" N7 l9 b! Y* T2 l- r
版权声明:CodeForCoffee
) w) M0 |( }& U" Q/ h% Z& z8 l2 z
$ M2 S, @0 Y$ {: p/ ^" ]5 |, N9 u4 A! l7 v) L% J  @7 [4 R
2021091220281939.png
收藏 评论0 发布时间:2022-12-27 18:00

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版