STMCU小助手
发布时间:2022-4-2 21:00
|
01. USART简介 通用同步异步收发器 (USART) 能够灵活地与外部设备进行全双工数据交换,满足外部设备对工业标准 NRZ 异步串行数据格式的要求。USART 通过小数波特率发生器提供了多种波特率。* o9 h' x O, B 它支持同步单向通信和半双工单线通信;还支持 LIN(局域互连网络)、智能卡协议与 IrDA(红外线数据协会)SIR ENDEC 规范,以及调制解调器操作 (CTS/RTS)。而且,它还支持多处理器通信。 通过配置多个缓冲区使用 DMA 可实现高速数据通信。+ R. p) W8 i) N 5 {" o5 C3 t7 Z" D: ]7 A: m 02. USART主要特性0 ~# v l1 B6 R! ^! ~ ● 全双工异步通信 ● NRZ 标准格式(标记/空格)9 b- ~/ J2 y+ Y9 u. k& w ● 可配置为 16 倍过采样或 8 倍过采样,因而为速度容差与时钟容差的灵活配置提供了可能' o3 d! Y/ L* y. F5 a7 Y& g+ ?# q7 S ● 小数波特率发生器系统 — 通用可编程收发波特率(有关最大 APB 频率时的波特率值,请参见数据手册)。 ● 数据字长度可编程(8 位或 9 位) ● 停止位可配置 - 支持 1 或 2 个停止位( g5 W7 K* ^/ ^ ● LIN 主模式同步停止符号发送功能和 LIN 从模式停止符号检测功能 — 对 USART 进行 LIN 硬件配置时可生成 13 位停止符号和检测 10/11 位停止符号# _/ x. c5 r. \: [ ● 用于同步发送的发送器时钟输出 ● IrDA SIR 编码解码器 — 正常模式下,支持 3/16 位持续时间 ● 智能卡仿真功能 — 智能卡接口支持符合 ISO 7816-3 标准中定义的异步协议智能卡3 n% H- R2 _& J' ?3 t- D — 智能卡工作模式下,支持 0.5 或 1.5 个停止位8 L+ R$ f5 t/ V. N H ● 单线半双工通信 ● 使用 DMA(直接存储器访问)实现可配置的多缓冲区通信 — 使用 DMA 在预留的 SRAM 缓冲区中收/发字节! }3 u1 ` c0 x, w8 _, s ● 发送器和接收器具有单独使能位 ● 传输检测标志: — 接收缓冲区已满 — 发送缓冲区为空 — 传输结束标志1 B0 F! u s6 c; d- D ● 奇偶校验控制: — 发送奇偶校验位# P8 x- R. z3 t3 X0 V0 s" L — 检查接收的数据字节的奇偶性 ● 四个错误检测标志: — 溢出错误+ O: S* r: q* e3 b; z9 ` — 噪声检测' S& d- n; `3 Q- ?: x5 }0 `5 d/ ` — 帧错误 — 奇偶校验错误- H) X' K$ t- q1 j, k( q ● 十个具有标志位的中断源:! w- _! M* I% z2 E — CTS 变化4 K$ B; O0 ^! c5 I8 k — LIN 停止符号检测 — 发送数据寄存器为空$ X" g9 v" g" [' g2 c" P — 发送完成2 j3 ~* K4 Q) Q7 |, r$ ~ — 接收数据寄存器已满1 O1 b4 l1 q9 c' ~, m — 接收到线路空闲" x' ^" L' I8 |9 O0 M — 溢出错误, B) v/ \) |, Z# N) } — 帧错误1 P: N d% ~$ a; W* Q — 噪声错误 — 奇偶校验错误! c) p h* T! u/ Y ● 多处理器通信 - 如果地址不匹配,则进入静默模式2 K. h/ l4 U9 v& K) Z |! z7 V ● 从静默模式唤醒(通过线路空闲检测或地址标记检测) ● 两个接收器唤醒模式:地址位(MSB,第 9 位),线路空闲 03. USART功能说明, }0 q+ ~- F. p/ v8 f 接口通过三个引脚从外部连接到其它设备。任何 USART 双向通信均需要至少两个引脚:接收数据输入引脚 (RX) 和发送数据引脚输出 (TX):) y# D6 Q9 n1 ^4 ]$ P- A$ \ RX :接收数据输入引脚就是串行数据输入引脚。过采样技术可区分有效输入数据和噪声,从而用于恢复数据。 TX :发送数据输出引脚。如果关闭发送器,该输出引脚模式由其 I/O 端口配置决定。如果使能了发送器但没有待发送的数据,则 TX 引脚处于高电平。在单线和智能卡模式下,该 I/O用于发送和接收数据(USART 电平下,随后在 SW_RX 上接收数据)。0 e0 y% J; p% l 9 Z8 p, [. L$ j; v0 u' U 04. USART字符说明 可通过对 USART_CR1 寄存器中的 M 位进行编程来选择 8 位或 9 位的字长。 TX 引脚在起始位工作期间处于低电平状态。在停止位工作期间处于高电平状态。空闲字符 可理解为整个帧周期内电平均为“1”(停止位的电平也是“1”),该字符后是下一个数据帧的起始位。 2 m2 D% H& ^) k2 s! l$ k 停止字符 可理解为在一个帧周期内接收到的电平均为“0”。发送器在中断帧的末尾插入 1或 2 个停止位(逻辑“1”位)以确认起始位。2 v5 R6 U( O4 y5 F/ n! W : b2 F( U; m6 u5 D+ B, j" v 发送和接收由通用波特率发生器驱动,发送器和接收器的使能位分别置 1 时将生成相应的发送时钟和接收时钟。 ; F: A& Q5 L( n
( Y" P, T9 v; G! C+ ` w 05. USART寄存器 5.1 状态寄存器 (USART_SR)7 A6 b; r) b3 B/ j/ l4 Y: d+ A9 Y: T Status register/ Q) k" N0 v. B4 n u! x 偏移地址:0x00 复位值:0x00C0 0000( A. ^7 l1 @8 J! O: ~/ q" L" T
4 t4 G3 q0 \8 `$ `: u 5.2 数据寄存器 (USART_DR)5 E/ L5 H( v$ _- X0 ?1 ^. h Data register. l7 x4 W6 X0 d# G' q5 s, _ 偏移地址:0x04 复位值:0xXXXX XXXX2 B, @$ g* c6 `$ [& j# a
8 P4 d) n7 v8 g- H, H 5.3 波特率寄存器 (USART_BRR)# L& j; S7 T% D Baud rate register4 a6 N- o/ Z" i. |# y: K 注意: 如果 TE 或 RE 位分别被禁止,则波特计数器会停止计数。' x7 ?' R% w, Y+ v! | 偏移地址:0x08 复位值:0x0000 00006 V9 m I; e; S+ t9 |7 V
位 31:16 保留,必须保持复位值 位 15:4 DIV_Mantissa[11:0]:USARTDIV 的尾数这 12 个位用于定义 USART 除数 (USARTDIV) 的尾数6 U6 ^! Q* {, Q1 \ 位 3:0 DIV_Fraction[3:0]:USARTDIV 的小数这 4 个位用于定义 USART 除数 (USARTDIV) 的小数。当 OVER8 = 1 时,不考虑 DIV_Fraction3位,且必须将该位保持清零。1 A! F' E/ H$ i1 U- N 0 |4 U0 a! j: k$ r 5.4 控制寄存器 1 (USART_CR1)# R. `/ u$ `9 r( h/ I( A' K Control register 1 偏移地址:0x0C0 v- H6 K+ c% g/ Q 复位值:0x0000 00000 H+ T: D# a% i1 K6 [+ X 5 K0 R2 @/ e3 K. A& I( \. f
5.5 控制寄存器 2 (USART_CR2)+ i' \; F* Y' V2 \8 } Control register 26 L1 \7 l' f1 ^; P9 ^+ c D 偏移地址:0x10 复位值:0x0000 0000 ' X# q& s1 ]( }- F
1 Q' s/ M* C* K7 G% O/ U 5.6 控制寄存器 3 (USART_CR3)' W7 @/ Y: S3 x4 x Control register 3 偏移地址:0x14; ^4 a5 f1 l: k5 b 复位值:0x0000 00006 v! n, n% [# {9 p" u% ?
0 X( g! d1 {* ]6 s 5.7 保护时间和预分频器寄存器 (USART_GTPR)/ `5 s3 u3 g0 v- m Guard time and prescaler register 偏移地址:0x181 j2 R6 Q/ N# C. R 复位值:0x0000 0000
9 U* Y, i! N! c 0 v! C) V* R6 U |
经验分享 | USART接收的数据怎么错位啦?
经验分享 | 基于STM32H7 UART 空闲事件及DMA传输示例
经验分享 | STM32G4 UART+TIMER+DMA应用示例
经验分享 | STM32H563 UART+DMA 2D功能演示
经验分享 | 基于STM32H563演示UART+DMA功能
【STM32U3评测】实现双通道串口通信系统
STM32G系列RS485自动收发控制以及自适应波特率实战
【STM32H7S78-DK评测】CoreMark移植和优化--兼记printf重定向实现方法及常见问题
【STM32MP135-DK】裸机移植shell
NUCLEO-U545RE-Q评测】3. 串口基本收发测试
微信公众号
手机版